2017-12-27 235 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)'。 –