Kotlin - 如何在没有科学记数法的情况下在 Kotlin 中将 Double 转换为 String?

Dam*_* JK 10 java double android tostring kotlin

我想在没有科学记数法(指数)的情况下在文本视图中设置 Double 的完整值,最好的方法是什么?

我尝试使用 toString() 方法转换 Double 值,但我仍然具有科学价值。

tvDepth.text=depth.toString()
Run Code Online (Sandbox Code Playgroud)

我输入了值 123456789.123456789 并期望在 textView 中具有相同的值,但我有:1.23456789123456789E8。

我不知道我需要多少个小数位,所以在文本视图中设置它之前我无法格式化它。我读到在 Java 中是可用的静态方法

tvDepth.text=depth.toString()
Run Code Online (Sandbox Code Playgroud)

但它在 Kotlin 中不可用。有什么好的方法可以正确显示这个值吗?

小智 8

您可以.toBigDecimal().toPlainString()在您的Dobule. 例如:

println(PI.toBigDecimal().toPlainString())
Run Code Online (Sandbox Code Playgroud)

打印出来:

3.141592653589793
Run Code Online (Sandbox Code Playgroud)