显示数字的小数点问题

Decimal point issue in displaying digits

我必须显示两位小数。

假设值 0 应显示为 0.00,值 2.3 应显示为 2.30。

为了实现这一目标,我做了如下操作:

Log.e(">>> percent ", ">> " + data.percent)
percent = String.format("%.2f", percent).toDouble()
Log.e(">>> percent ", ">> " + percent)

但是您会注意到结果如下:

2021-04-15 11:55:54.580 10061-15047/com.dev E/>>> percent: >> 0
2021-04-15 11:55:54.580 10061-15047/com.dev E/>>> percent: >> 0.0

应该是 0.00 而不是 0.0

可能是什么问题? 请指导。谢谢

Double类型没有关于如何显示的信息。

所以,不要对字符串使用toDouble()方法。 此外,将 0 添加到格式字符串以表示零填充。

Log.e(">>> percent ", ">> " + data.percent)
val percentStr: String = String.format("%.02f", data.percent)
Log.e(">>> percent ", ">> " + percentStr)

您可以使用 DecimalFormat https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html

val df = DecimalFormat("0.00")

df.format(百分比)

只是改变

String.format("%.2f", percent).toDouble()

String.format("%.02f", data.percent)