我正在使用Java中的String
方法将Double
值转换为BigDecimal
或从Double
值转换为double.value()
。但在转换为double后,精度值会被截断。
防爆。 Str="123.50"
或bigDecimalVal="455.780"
如果我使用Double
方法将上述值转换为double.valueOf()
,我会得到双值:
123.5 or 455.78.
其中' 0'在我输出的输出中都被截断了。
答案 0 :(得分:0)
123.5和123.50两者在数学上是相同的,如果你想要正确的格式值,那么你可以创建一个持有者,它将同时保存一个值,显示一个为double。
class DoubleDecorator {
final double val;
final String string;
DoubleDecorator(String str) {
string = str;
val = Double.parseDouble(str);
}
public String getDisplayValue(){
return string;
}
public double getFormattedValue(NumberFormat format){
//your code
}
public double getValue(){
return val;
}
}