0

我有 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

4

1 回答 1

0

只需执行以下操作:

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 被丢弃。

于 2016-05-19T08:24:08.857 回答