如果数字中包含小数或小数部分,如何测试数字。

时间:2016-05-13 18:25:26

标签: java algorithm

我正在跟踪java- 1-将浮点乘以10,直到其小数部分变为零。 2-用

测试了这个
number%1 == 0 // fails here

Prob我面对 -     例如输入值是.12     iter-1 .12 * 10 = 1.199999     iter-2 .12 * 100 = 12.010 ** //期待分数为零

Expected- 
iter-1 .12*10 = 1.2
iter-2 .12*100 = 12.0

有什么方法可以达到预期的效果。

2 个答案:

答案 0 :(得分:0)

您可以使用Math.IEEEremainder(value, 1) == 0。但请确保您需要精确的位识别检查,而不是近似检查(仅限10位左右),以避免报告非圆形数字,例如1.00000000000001

答案 1 :(得分:-2)

怎么样

Double number = ...; // Some number
boolean hasFractionalPartInIt = number.compareTo((double)number.intValue()) != 0;