Я хотел бы преобразовать двойное значение, например 1.1231053E7
, в 11,231,053.0
в Scala. В настоящее время я конвертирую двойные числа, делая это f"$number"
, где number
- двойное значение. К сожалению, это просто дает мне строку с 1.1231053E7
.
Я могу преобразовать это из научной нотации, используя NumberFormat
или DecimalFormat
, но это также вынуждает меня выбирать предопределенную точность. Я хочу гибкой точности. Итак ...
val number1 = 1.2313215
val number2 = 100
val number4 = 3.333E2
... при преобразовании должно быть ...
1.2313215
100
333.3
В настоящее время DecimalFormat
заставляет меня выбирать точность во время строительства следующим образом: new DecimalFormat(##.##)
. Каждый #
после .
обозначает десятичную точку.
Если я использую f"$number"
, он правильно обрабатывает десятичные точки, но, как я уже говорил, он не может обрабатывать научную запись.