我有一个应用程序有一个部分需要将温度从摄氏温度转换为华氏温度,但由于某些原因只有几个手机型号(如HTC欲望和索尼爱立信X10)它崩溃在这部分,但我不知道为什么。有人可以帮忙吗?
double cel = x/10;
finalTFF = 9.0f/5.0f * cel + 32.0;
DecimalFormat twoDForm = new DecimalFormat("##.0");
double NfinalTFF = Double.valueOf(twoDForm.format(finalTFF));
return twoDForm.format(NfinalTFF);
答案 0 :(得分:0)
为什么这么难? 正如我所见,你想将double转换为字符串,所以:
public static String celsiusToFahrenheit(double celsius) throws Exception {
double result = ((celsius * 9) / 5) + 32;
return String.format("%.2f", result);
}
这应该有效:)
答案 1 :(得分:0)
调用
时可能会收到NumberFormatExceptiondouble NfinalTFF = Double.valueOf(twoDForm.format(finalTFF));
根据电话上的语言设置,小数点分隔符为“。”要么 ”,”。当调用valueOf时,只有“。”被接受了。 Keenora是正确的,代码可以简化,但为了避免代码崩溃,你可以像这样添加一个替换语句:
double NfinalTFF = Double.valueOf(twoDForm.format(finalTFF).replace(",", "."));