Android 数字显示中的小数点问题
我必须用两个小数点来显示数字 假设值0应显示为0.00,值2.3应显示为2.30 为了实现这一点,我做了如下工作:Android 数字显示中的小数点问题,android,kotlin,decimal,decimalformat,decimal-point,Android,Kotlin,Decimal,Decimalformat,Decimal Point,我必须用两个小数点来显示数字 假设值0应显示为0.00,值2.3应显示为2.30 为了实现这一点,我做了如下工作: Log.e(">>> percent ", ">> " + data.percent) percent = String.format("%.2f", percent).toDouble() Log.e(">>> percent ", ">
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
type没有关于如何显示的信息
因此,不要对字符串使用toDouble()
方法。
另外,在格式字符串中添加0
,以表示零填充
Log.e(“>>>百分比”,“>>”+数据百分比)
val percentStr:String=String.format(“%.02f”,data.percent)
Log.e(“>>>>百分比”,“>>”+percentStr)
Double
类型没有关于如何显示的信息
因此,不要对字符串使用toDouble()
方法。
另外,在格式字符串中添加0
,以表示零填充
Log.e(“>>>百分比”,“>>”+数据百分比)
val percentStr:String=String.format(“%.02f”,data.percent)
Log.e(“>>>>百分比”,“>>”+percentStr)
您可以使用DecimalFormat
val df=十进制(“0.00”)
df.format(百分比)您可以使用DecimalFormat val df=十进制(“0.00”)
df.格式(百分比)只需更改
String.format("%.2f", percent).toDouble()
至
String.format("%.02f", data.percent)
只要改变就行了
String.format("%.2f", percent).toDouble()
至
String.format("%.02f", data.percent)
同样,如果我们需要1位十进制整数,则必须使用%.01f或%1f?
%.1f
表示最多一位十进制数字,但应省略结尾的十进制零%.01f
表示正好一个十进制数字,使用like 1等于1.0的事实。我已将其更改为“%.02f”,仍然得到0.0而不是0.00…您是否删除了结尾处的toDouble()
并打印了新创建的字符串,而不是原始的百分比
?不,不删除..如果我们想要1个十进制复合,然后我们必须使用%.01f或%1f?%.1f
表示最多一个十进制数字,但应省略结尾的十进制零%.01f
表示正好一个十进制数字,使用like 1等于1.0的事实。我已将其更改为“%.02f”,仍然得到0.0而不是0.00…您是否删除了结尾处的toDouble()
并打印了新创建的字符串,而不是原始的百分比
?否未删除。。