Java字符串“1603”浮动16.03

时间:2015-12-06 20:00:27

标签: java string floating-point

所以我有一些可变长度的java字符串。它可以是0到999999999,但最后两个值应该总是小数部分。我想将这些字符串转换为浮点值。 我想的方式是:

String strNum = "200";
strNum = strNum.substring(0, strNum.length()-2) + "." + strNum.substring(str.length()-2);
Float num = Float.parseFloat(strNum);

但是这个方法很慢,我还应该添加一些方法来查看长度是否大于2,以避免string index out of range

我的问题是:有没有办法以更清洁,更快捷的方式做到这一点?否则我会按照我的想法去做。

由于

3 个答案:

答案 0 :(得分:5)

怎么样:

float num = Integer.parseInt(strNum) / 100f;

f之后的100非常重要,除非需要,否则请使用float,而不是Float

答案 1 :(得分:0)

字符串子字符串函数代价很高,因为它创建了新的Object.So最好首先将其转换为数字,然后除以100以获得所需的输出。

float num = Integer.parseInt(strNum) / 100f;

答案 2 :(得分:0)

如果您确定您的字符串将始终只是一个简单的数字

float num2 = Float.valueOf(strNum)/100;
嗯,我打字太慢了! :)