Я пытаюсь избавиться от ненужных символов после десятичного разделителя моего двойного значения. Я делаю это так:
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
? Есть еще мысли?