2017-12-27 242 views
0

科学记数法我想浮动转换为14位显著打印浮而不阶

val s = "1200000000".toFloat 

输出-1.2E9

下面我试过,但不起作用

f"$s%1.0f"但这不列入工作与所有值 我想要一个方法,它接受字符串并返回一个浮点数。 该方法可支持多达15位有效数字

+0

不,你还没有试图打印它的方式。你能分享你尝试过什么吗? –

+0

已更新问题 – coder25

+0

'f“$ s%1.0f”'_does_适用于所有值。 – Dima

回答

1

你想要什么?

如果你要打印一些与给定的格式,你可以使用这个:

println(f"$myNumber%1.14f") 

输出将是:

1200000000.00000000000000 

你可以得到更多的信息here

+0

我可以有一个字符串,但不希望它转换为科学记数法,但它可以支持多达15位有效数字 – coder25

+0

1200000000.00000000000000不是15位有效数字 – coder25

1

你可以用toPlainString方法java.math.BigDecimal

val floatValue = "1200000000".toFloat 

new java.math.BigDecimal(floatValue).toPlainString 

res0: String = 1200000000 
+1

要设置有效位数,请使用'new java.math.BigDecimal(floatValue) .setScale(numDigits,RoundingMode.HALF_EVEN)'。 –