首页 > 解决方案 > Java中的浮点数据类型精度

问题描述

当存储为单精度浮点数时,数字 0.1 的值为 0.100000001490116119384765625(来源:https ://www.h-schmidt.net/FloatConverter/IEEE754.html ),但它在 Java 中打印为 0.1。我认为这是因为 Java 将浮点数的小数位数限制为七位。如何增加显示的小数位数?

标签: javafloating-pointprecision

解决方案


float x = 0.1f;
System.out.printf("%.17f", x);

0.10000000149011612

推荐阅读