我正在使用改造调用来获取API响应。一切正常。但是我正在读取一些以十进制表示的价格值,例如 5.60、2.20、3.33 等。我正在向其中添加货币代码并将其设置为以下文本视图
(QAR +“” +总数)
但是文本视图显示为 QAR 5.6,QAR 2.2,QAR 3.33 。
这里可能是什么问题?删除 0 的最后一位。
我正在使用改造调用来获取API响应。一切正常。但是我正在读取一些以十进制表示的价格值,例如 5.60、2.20、3.33 等。我正在向其中添加货币代码并将其设置为以下文本视图
(QAR +“” +总数)
但是文本视图显示为 QAR 5.6,QAR 2.2,QAR 3.33 。
这里可能是什么问题?删除 0 的最后一位。
您可以按以下方式使用String.format()
。
textView.setText(QAR + “ “ + String.format(“%.2f”,total));
,
尝试使用String.format
,如下所示:
String.format("QAR %.2f",total)
这不是问题。转换过程中小数点后的零自动删除
如果您不希望自动转换,则在模型中将其用作String
并在整个应用程序中维护
5.6和5.60完全相等,因此系统排除最后一个0并显示5.6。
解决方案是“十进制格式化程序”
new DecimalFormat("0.00").format(total)
。
正式的十进制数字可以有不同的格式。
编辑1:
是的,改造库不得更改该值,因为它是字符串类型。
在模型类的getter方法中。 这里的“值”是字符串数据类型,如api resp
public String getValue() {
return "" + new DecimalFormat("0.00").format(Float.parseFloat(value));
}