【发布时间】:2010-12-23 09:20:11
【问题描述】:
我正在开发一个 Java/Groovy 程序。我有一个双变量,其中包含用户输入的数字。我真正想知道的是用户在小数点右边输入了多少个数字。比如:
double num = 3.14
num.getPlaces() == 2
当然,您不能使用双精度数来执行此操作,因为它使用的是 IEEE 浮点数,而且都是近似值。
假设我无法获取用户键入的字符串,但只能访问存储值的双精度值,有没有办法可以通过 BigDecimal 或诸如此类的方式清除该双精度值以获得“真实" 小数位数? (当双重显示在屏幕上时,它会正确,所以我认为有一种方法至少可以很好地猜测?)
【问题讨论】:
-
脚注:由于这是一个混合的 Java/Groovy 代码库,任何使用基于 groovy 的魔法的解决方案都将受到欢迎。
-
您想知道用户在小数点后输入了多少位,或者小数点后将打印多少位?这是两个完全不同的问题。
-
用户输入的。好点子。
标签: java groovy floating-point approximation