所以我有一些可变长度的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
。
我的问题是:有没有办法以更清洁,更快捷的方式做到这一点?否则我会按照我的想法去做。
由于
答案 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;
嗯,我打字太慢了! :)