我需要我的android應用程序中的函數幫助。函數獲得這樣一個雙精度值:0.1234567或123.1234567;我想將其轉換爲字符串,稍後,如果double大於1,它必須返回123.1(如果double爲123.123456),如果double小於0,則它必須返回123(如果double爲0.123456)。目前,我設法將double轉換爲字符串,但我不知道如何做到這一點。在Android中格式化字符串變量
這是我的方法:
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
嗨,謝謝你的回答。現在,它運行良好:)現在,我只需要顯示變量'part2'的前三位數字,我該怎麼辦? – Yeray
@Yeray,不客氣。像這樣使用String.substring()part2 = part2.substring(0,3); – Prabhakaran
非常感謝你;) – Yeray