![](/img/trans.png)
[英]Rounding a double to two decimal places without using DecimalFormat
[英]Rounding 2 decimal places with DecimalFormat using default Locale
无论语言环境如何,我怎样才能只得到两个小数位。 我知道如果需要,我可以使用DecimalFormat
手动格式化"0.00"
,但我想在用户的语言环境中获得正确的十进制类型并四舍五入到两个位置。
DecimalFormat dFormat = (DecimalFormat) NumberFormat.getInstance(Locale.getDefault());
etPayment.setText(dFormat.format(p)); // How would I do it on this line?
DecimalFormat currencyFormatter = (DecimalFormat) NumberFormat.getInstance(Locale.getDefault());
currencyFormatter.setMaximumFractionDigits(2); // << This should
currencyFormatter.setMinimumFractionDigits(2); // << do the trick
System.out.println(currencyFormatter.format(-123456.7812));
将输出:
-123,456.78
或者,如果您有像Locale.GERMANY
这样的语言环境:
-123.456,78
更新:(简单复制和粘贴)
DecimalFormat dFormat = (DecimalFormat) NumberFormat.getInstance(Locale.getDefault());
dFormat.setMaximumFractionDigits(2); // << This should
dFormat.setMinimumFractionDigits(2); // << do the trick
etPayment.setText(dFormat.format(p));
试试DecimalFormat dFormat = new DecimalFormat("#.00");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.