Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 数字显示中的小数点问题_Android_Kotlin_Decimal_Decimalformat_Decimal Point - Fatal编程技术网

Android 数字显示中的小数点问题

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 ", ">

我必须用两个小数点来显示数字

假设值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
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()
并打印了新创建的字符串,而不是原始的
百分比
?否未删除。。