在scala中没有科学记数法的打印浮点数

时间:2017-12-27 13:46:39

标签: scala

我想将float转换为14位有效数字

val s = "1200000000".toFloat

输出-1.2E9

我在下面试过但不起作用

f"$s%1.0f"但这不适用于所有值 我想要一个接受字符串并返回浮点数的方法。该方法最多可支持15位有效数字

2 个答案:

答案 0 :(得分:2)

您可以使用toPlainStringjava.math.BigDecimal方法:

val floatValue = "1200000000".toFloat

new java.math.BigDecimal(floatValue).toPlainString 

res0: String = 1200000000

答案 1 :(得分:1)

你到底想要什么?

如果要打印具有给定格式的数字,可以使用:

println(f"$myNumber%1.14f")

输出将是:

1200000000.00000000000000

您可以获得更多信息here