Android句柄十进制

Android句柄十进制,android,android-layout,number-formatting,Android,Android Layout,Number Formatting,我使用改型调用获取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)); 尝试使用字符串。格式如下所

我使用改型调用获取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("QAR %.2f", total)

这不是一个问题。小数点后的尾随零在转换过程中自动丢弃


如果您不希望自动转换,则将其用作模型中的
字符串
,并在整个应用程序中保持

5.6和5.60完全相等,因此系统排除最后的0并显示5.6。 解决这个问题的方法是“十进制格式化程序”
新的十进制格式(“0.00”)。格式(总计)

可以有不同的格式来安排正式的十进制数

编辑1:

是,翻新库不能更改该值,因为它是字符串类型

在模型类的getter方法中。 这里的“值”是字符串数据类型,如api resp

public String getValue() {
            return "" + new DecimalFormat("0.00").format(Float.parseFloat(value));
        }

希望你的回答能解决这个问题。但我不能用这个。因为从API来看,十进制数字是动态的。因此,转换的数据类型字符串解决了这个问题。但我想了解为什么会发生改装?希望你的回答能解决问题。但我不能用这个。因为从API来看,十进制数字是动态的。因此,转换的数据类型字符串解决了这个问题。但我想了解为什么会发生改装?然后尝试从服务器以字符串形式发送它,而不是我已经解决了它。我只是想了解这个系统是如何工作的,这不是问题。在传输/转换过程中,小数点后的尾随零将自动丢弃。但我的要求是,整个应用程序都希望保持相同的小数位数。希望您的回答能够解决这个问题。但我不能用这个。因为从API来看,十进制数字是动态的。因此,转换的数据类型字符串解决了这个问题。但我想了解为什么会发生改装?你能在这里给出api响应的这一部分吗?{“标签”:“折扣值”,“值”:“1.40”,“文本颜色”:“ed2290”,“is#bold”:0,“is#line”:0,“is#减去”:1}