我正在尝试逆转一些操作。
我的输入是
1. 14
2. 8
3. 10
我的结果是
1. 0.14
2. 0.8
3. 0.1
代码
token = 14
val = Double.parseDouble(token);
int count = countDigits(val);
val = val / Math.pow(10, count);
System.out.println("val "+val);---> results 0.14
private static int countDigits(double value) {
int count = 0;
while (value > 1) {
value = value / 10;
count++;
}
return count;
}
案例1
对于 10,我的逻辑是错误的。 如果我的值是 10,我得到的结果是 1.0 而不是 .1
我正在检查 while(value>1) 但一旦添加 = 我就没有得到正确的结果。
案例2
现在我需要将 0.14 转换回 14,将 0.8 转换回 8。
最好的选择是什么?
我应该计算小数点后的位数并与 Math.pow 或任何其他更好的方法相乘吗? 是否可以计算小数点?
最佳答案
就这样做:
val = val * Math.pow(10, count);
Double d = new Double(val);
int i = d.intValue();
关于java - 反转操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35030336/