如何格式化数据库中的双精度数据并在 Android 上使用逗号作为小数分隔符设置到 Textview

Posted

技术标签:

【中文标题】如何格式化数据库中的双精度数据并在 Android 上使用逗号作为小数分隔符设置到 Textview【英文标题】:How to Format double data from database and set into Textview using comma as decimal divider on Android 【发布时间】:2017-02-22 09:15:38 【问题描述】:

我在表上的字段为双精度(货币数据字段),我想将其放在 Textview 上,例如: 钱= 20.0 我想显示为:20,0 或金钱 = 190.25 我想显示为:190,25

怎么做?这是我的变量

txtTotalBill.setText(String.valueOf(total_bill));

【问题讨论】:

在下面查看我的答案 谢谢@ZakiPathan!答案是有效的!抱歉回复晚了 欢迎@Bayuwibawa 很高兴为您提供帮助:) :) :) 【参考方案1】:

您可以使用 String 方法替换来格式化您的链:

txtTotalBill.setText(String.valueOf(total_bill).replace('.', ','));

【讨论】:

【参考方案2】:
String total = String.valueOf(total_bill);    

total = total.replace(".", ",");

试试这个然后设置文本希望它有帮助

txtTotalBill.setText(total.toString());

或者你可以像这样直接设置文本而不使用变量:

txtTotalBill.setText(String.valueOf(total_bill).replace('.', ','));

【讨论】:

这个解决方案效果很好,但我还需要它在逗号后变成 2 位数字,这只是将点替换为逗号,我们可以这样做吗? ***.com/a/10959430/7320259 检查这个。首先将字符串转换为双精度,并使用上面的链接进行必要的操作。希望它可以帮助@BayuWibawa 如果我只有 1 位小数(如我的示例),则您提供的 url 不起作用:20.0,所以我想设置 20,00,我们可以这样做吗? 没关系,@ZakiPathan!我找到了,必须先做 String.format("%.2f", d) 然后替换它

以上是关于如何格式化数据库中的双精度数据并在 Android 上使用逗号作为小数分隔符设置到 Textview的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中添加两个没有指数的双精度值

如何从 PHP 中的双精度数组中计算第 n 个百分位数?

格式化像货币一样但没有货币符号的双精度值(C#)

如何将 UI 控件的双数据值格式化为数字,例如 1234 到 1.23K? [复制]

如何在小数点后将 Dart 中的双精度数舍入到给定的精度?

打印精度高达小数点后 4 位的双精度数据类型 - Armadillo