【发布时间】:2013-07-16 06:57:13
【问题描述】:
如何限制整数本身的位数而不仅仅是小数点后的小数部分?
例如使用数字 54321.12574857f 和 DecimalFormat("##0.##");它应该返回 543.12 或 321.12,小数点后两位是正确的,但是我想将小数点前的数字减少到只有 3。这是怎么做的?
在输入数字 54321.12574857 后,我使用 ##0.## 的 DecimalFormat 方法的参数,我期待 543.12,或者 321.12 而不是我得到的 54321.12
DecimalFormat 方法更改的唯一数字是小数点后的数字
float inputNumber = 54321.12574857f;
DecimalFormat decimalFormat = new DecimalFormat("##0.##");
String newNumber = String.valueOf(decimalFormat.format(inputNumber));
System.out.println(newNumber);
【问题讨论】:
-
您不使用
%的任何特殊原因? -
你能举出使用 % 的 String.format 的例子吗?当您提到 % 时,我假设您正在谈论 String.format 方法
-
不.. 我的意思是使用
mod运算符。 -
既然你说“我期待 543.12,或者 321.12”,你可以这样做
decimalFormat.format(inputNumber % 1000)
标签: java android number-formatting decimalformat