double转换成string java_java – 为什么我们需要将double转换为字符串,然后才能将它转换为BigDecimal?...
apache commons中round的源代码如下:public static double round(double x, int scale, int roundingMethod) {try {return (new java.math.BigDecimal(Double.toString(x)).setScale(scale, roundingMethod)).doubleValue()
apache commons中
round的源代码如下:
public static double round(double x, int scale, int roundingMethod) {
try {
return (new java.math.BigDecimal(Double.toString(x)).setScale(scale, roundingMethod)).doubleValue();
} catch (NumberFormatException ex) {
if (Double.isInfinite(x)) {
return x;
} else {
return Double.NaN;
}
}
}
我想知道,在创建BigDecimal时为什么他们选择将double转换为字符串(使用Double.toString)而不是简单地使用double本身?
换句话说,这有什么问题? :
public static double round(double x, int scale, int roundingMethod) {
try {
return (new java.math.BigDecimal(x).setScale(scale, roundingMethod)).doubleValue();
} catch (NumberFormatException ex) {
if (Double.isInfinite(x)) {
return x;
} else {
return Double.NaN;
}
}
}
更多推荐
所有评论(0)