java 的double型怎么保留小数点后8位而且不会失真??比如:1.098765432应该是

java 的double型怎么保留小数点后8位而且不会失真??比如:1.098765432应该是java语言的double型怎么保留小数点后8位而且不会失真??比如:
1.098765432应该是1.09876543,
可是我用的方法失真,变成1.09876537了,求指教,谢谢

1、String.format("%.8f", 1.098765432)

2、new java.text.DecimalFormat("#.00000000").format(nu1.098765432)

这两个都是使用四舍五入,不会失真。

double( 双精度浮点型)是计算机使用的一种资料型别。

比起单精度浮点数(float),double( 双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。

它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-12
double 的乘法是: double* int = double * (double)int
0.29*100 = 0.29* (double)100
你可以System.out.println("100="+(double)100);看看输出时多少,你就明白为什么不输出29.0了本回答被网友采纳
第2个回答  2016-08-10
String.format("%.8f", 1.098765432)
new java.text.DecimalFormat("#.00000000").format(nu1.098765432)
这两个都是使用四舍五入,不会失真追问

这两个方法都失真了,第一个运行结果是1.098765,不过第二个没有失真,谢谢啊😀

本回答被提问者采纳
相似回答