使用a打印带有2位小数的double值。不是,

时间:2018-01-23 12:20:05

标签: java android textview

我正在处理的应用中存在一些问题。我正在使用一些双值,我想将它们放在一些TextViews中,但是当放置数字时,而不是“。”它出现 ”,”。我想有一个点,所以我可以使用substring导入值。

DecimalFormat precision = new DecimalFormat("0.00");
final TextView totalPrice = (TextView) getView().findViewById(R.id.actualPrice);
double price = 200.12357123;
totalPrice.setText("$" + precision.format(price));

TextView里面会显示200,12,我想显示200.12,所以我可以稍后将文本转换成双值。

3 个答案:

答案 0 :(得分:1)

试试这个

Locale currentLocale = Locale.getDefault();
String formatString = "#,###,###,###.##";
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(currentLocale);
otherSymbols.setDecimalSeparator(',');
otherSymbols.setGroupingSeparator('.');
DecimalFormat df = new DecimalFormat(formatString, otherSymbols);

double price = 200.12357123;

Log.i("TAG", "" + "$ " + df.format(price));

<强>输出

enter image description here

答案 1 :(得分:0)

使用下面的代码,它将给出完全相同的答案:

double price = 200.12357123;
String s=String.format(Locale.US, "$%.2f", price);

答案 2 :(得分:-2)

您可以更改&#39;。&#39;与&#39;,&#39; ,当你想转换为double。