请问double tmp=0.95*101输出的tmp为什么不是95.95
来源:2-4 算术运算符
Golpher
2019-02-26 02:05:48
double tmp=0.95*101;
System.out.print(tmp);
这样输出的结果是95.949999999999999,请问是为什么呢?
2回答
你好同学,因为二进制有时候不能精确的表示十进制的浮点数,所以会出现很小的偏差,不过你可以通过下图的方法,达到你想要输出的结果,祝学习愉快~
chrismorgen
2019-02-26
这就是Java的语法规则呀,请问同学想是想保留小数点后几位数字呢?如果不想保留小数点的位数,可以使用System.out.print((int)tmp);来输出整型的变量。祝学习愉快~
相似问题