我试图在我的双精度值的小数分隔符后去掉不必要的符号。我是这样做的:
DecimalFormat format = new DecimalFormat("#.#####");
value = Double.valueOf(format.format(41251.50000000012343));
但是当我运行这段代码时,它会抛出:
java.lang.NumberFormatException: For input string: "41251,5"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)
at java.lang.Double.valueOf(Double.java:447)
at ...
正如我所看到的,它Double.valueOf()
适用"11.1"
于像"11,1"
. 我该如何解决这个问题?有没有比类似的更优雅的方式
Double.valueOf(format.format(41251.50000000012343).replaceAll(",", "."));
有没有办法覆盖DecimalFormat
类的默认小数分隔符值?还有其他想法吗?