我想在scala中将一个双1.1231053E7转换为11,231,053.0。目前,我转换双值的方法是执行这个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",它将正确地处理小数点,但是,正如我前面所说的,它无法处理科学符号。
发布于 2018-06-25 15:13:43
只需在.之后决定需要多少个位置,写出隐藏零的数字:
val fmt = new java.text.DecimalFormat("#,##0.##############")
for (x <- List[Double](1.2313215, 100, 3.333E2)) println(fmt.format(x))指纹:
1.2313215
100
333.3https://stackoverflow.com/questions/51025902
复制相似问题