DecimalFormat 和 Double.valueOf()
2022-09-02 22:45:59
我试图在我的双值的十进制分隔符之后摆脱不必要的符号。我是这样做的:
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