当我从Inches to Centimeter
和再次Centimeter to Inches
转换时,我实际上正在丢失精度值。
//英寸到厘米
public static String convertInchesToCentimeter(String inches) {
double in = 0;
try {
if (inches != null && inches.trim().length() != 0) { in = Double.parseDouble(inches) / 0.39370;
}
} catch (NumberFormatException nfx) {
System.err.println("Invalid input.");
}
return String.valueOf( in );
}
//厘米到英寸
public static double convertCentiToInch(double d) {
double centiToInch = 0;
if (String.valueOf(d) != null && String.valueOf(d).trim().length() != 0) {
centiToInch = d * 0.39;
}
return centiToInch;
}
如果我输入45, its showing 44.58
。我不知道究竟发生了什么问题?
答案 0 :(得分:6)
你在一个函数中有0.39370而在另一个函数中有0.39。
完全号是1英寸是2.54厘米。
答案 1 :(得分:0)
一个可能的问题是您在一个函数中使用0.39370
,而在另一个函数中使用.39
。我建议使用2.54
厘米每英寸的确切值。
即使有这种变化,浮点数通常也是不精确的。