【发布时间】:2014-11-04 14:13:05
【问题描述】:
标题是不言自明的。有什么好的方法,最好只用数学,从 Java double 中获取位数?
123 => 0
1.12 => 2
1.0001 => 4
2.340000 => 2
0.10 => 1
例如,我有一个双倍 d = 0.320。
据我所知,对于编译器/jvm/计算机:
System.out.println(0.0100000 == 0.01); // prints true...
【问题讨论】:
-
0.10怎么算1的长度?
-
0.10 实际上是 0.1。编译器/计算机也是如此。
-
@ElliottFrisch Guess - 小数部分的重要数字
-
@chrisapotek
System.out.println(0.10 + 0.10 + 0.10); // prints 0.30000000000000004 -
@ElliottFrisch 与
System.out.println(0.1 + 0.1 + 0.1);相同,但这并不能改变 0.100000 == 0.1
标签: java floating-point integer double