java中,double乘法运算

掌心一点微笑 2018-05-08 01:34:45
public static void main(String[] args) {
double a = 60.0 * 0.01;
System.out.println(a);

double b= 70.0 * 0.01;
System.out.println(b);

double c= 80.0 * 0.01;
System.out.println(c);
}


运算结果是:
0.6
0.7000000000000001
0.8
为什么?求指点
...全文
1247 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
掌心一点微笑 2018-05-10
  • 打赏
  • 举报
回复
知道了 谢谢大神
Debug_Tom_ing 2018-05-08
  • 打赏
  • 举报
回复
浮点数只会取到近似值,如果要求精度的话,可以考虑用bigDecimal
元缘圆源 2018-05-08
  • 打赏
  • 举报
回复
额,拿到我电脑上运行也不行,
Cathy313 2018-05-08
  • 打赏
  • 举报
回复
计算机本身是二进制的,而浮点数实际上只是个近似值,所以从二进制转化为十进制浮点数时,精度容易丢失,导致精度下降 参考https://www.cnblogs.com/pcheng/p/5588652.htm

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧