java - 反转操作

标签 java math

我正在尝试逆转一些操作。

我的输入是

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/

相关文章:

algorithm - 使用变量受范围限制的单纯形法求解 LPP

iphone - 如何在没有陀螺仪的设备上创建 CMRotationMatrix

.net - 为什么 ULong > 16 位的数学会变得不稳定?

java - 将空字符串转换为 ""

逆法线函数的 Javascript 等价物?例如 Excel 的 NORMSINV() 或 NORMINV()?

java - 使用 maven 不断收到 java.lang.NoClassDefFoundError

java - 获取 ListView 中edittext的值

algorithm - 修改后的最小硬币变化

java - Android 错误

java - 将注释插入 Android 手机上已安装的日历应用程序