先看个例子:
int i=4;
double num=3/i;
输入结果为 :num=0.0 很奇怪。。我们应该是需要0.75才对啊 。这是怎么回事。原来。除数i是int类型,用3相除得到结果也是int类型。就是0.然后赋值给num.此时只是0被转成了double。。所以还是0.0
解决办法:
int i=4;
double num=3/(double)i; 输入结果就是0.75了
本文通过一个具体的编程示例解释了为什么在进行除法运算时,如果除数和被除数都是整型变量,则结果也会被隐式转换为整型,导致小数部分丢失。文章进一步说明了解决这一问题的方法,即通过将其中一个操作数显式转换为浮点类型来确保结果的准确性。
先看个例子:
int i=4;
double num=3/i;
输入结果为 :num=0.0 很奇怪。。我们应该是需要0.75才对啊 。这是怎么回事。原来。除数i是int类型,用3相除得到结果也是int类型。就是0.然后赋值给num.此时只是0被转成了double。。所以还是0.0
解决办法:
int i=4;
double num=3/(double)i; 输入结果就是0.75了
4701

被折叠的 条评论
为什么被折叠?