如何使用 NumberPicker 在 Android 中将字符串转换为带 3 位小数的长数字

How to convert a string to long number with 3 decimals in Android using NumberPicker

我有 4 个数字选择器,我将 4 个数字连接成字符串 我将如何将其转换为 long 我使用以下内容

String decimals=units2.concat(units3).concat(units4);
String units = units1;
String finalGrade = units1+decimals;
long Grade = Long.valueOf(finalGrade).longValue();
NumberFormat f = new DecimalFormat("000");
txtGrades.setText(f.format(Grade));

但我得到的不是 1.234 而是 1234

就像这样:

String resultAsString = String.valueOf(units1) 
    + "." 
    + String.valueOf(units2) + 
    + String.valueOf(units3) + 
    + String.valueOf(units4);
Double result = Double.valueOf(resultAsString);

或者您可以更新代码中的这一行:

String finalGrade = units1+decimals;

为此:

String finalGrade = units1 + "." + decimals;

这可以通过 StringBuilder 等进一步优化,但我想提出总体思路:-)

另外,根据经验,使用字符串做这样的事情可以确保你得到正确的正面 0(这对于数字密码之类的东西很重要),因为使用数值计算通常会导致正面 0 被丢弃。