我的Android应用程序中的某个功能需要帮助。该函数获得如下所示的双精度值:0.1234567或123.1234567; 我想将其转换为字符串,然后再将其转换为字符串,如果double大于1,则必须返回123.1(如果double是123.123456);如果double小于0,则必须返回123(如果double是0.123456)。暂时,我设法将双精度型转换为字符串,但是我不知道该怎么做。
这是我的方法:
public String getFormatDistance(double distance) {
String doubleAsText = String.valueOf(distance);
if (distance > 0.9) {
return doubleAsText;
} else {
String[] parts = doubleAsText.split(".");
String part1 = parts[0];
String part2 = parts[1];
//part2 = part2.split("");
return part2;
}
}
这行显示字符串:
TextView fourText = (TextView) row.findViewById(R.id.distance);
fourText.setText(getFormatDistance(values.get(position).distance));
它返回下一个错误:
01-23 09:45:48.816: E/AndroidRuntime(8677): java.lang.ArrayIndexOutOfBoundsException: length=0; index=1
用于Pattern.quote()
按点符号分隔字符串。
像这样
String[] parts = doubleAsText.split(Pattern.quote("."));
请在此处查看如何将双精度值拆分为整数部分和小数部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句