在java中,我想做 102%100 并将余数设为 02 而不是 2 .. 我该怎么做?
int a = (102%100);
a 返回 2 而不是 02.. 我想得到 02.. 因为最初,它应该是 1.02,但 mod 返回 2. :( 有人知道该怎么做吗?
2
并且02
是相同的数字。
由于您使用它来查找小数点后的前两个数字,因此只需用0
. 如果你想要小数点后的所有数字,更常用的方法是这样做:
//Strip all numbers before decimal-point
double decimalDigits = myNumber - (int)myNumber;
NumberFormat可能是最好的方法。String.format 和进行计算也可以,但由于您正在格式化数字,不妨使用数字格式化程序。
一个例子。我在这里猜测您的要求(例如 110%100 应该返回什么,或者您只期望一个位数的余数?):
NumberFormat formatter = new DecimalFormat("'0'#");
int remainder = 102%100;
System.out.println(formatter.format(remainder));
作为整数,它们代表相同的数字。使用以下命令将数字格式化为字符串以用于显示目的:
int a = 102 / 100;
int r = 102 % 100;
System.out.print(a + "." + String.format("%02d", r));
输出:
1.02
这是用零填充数字的答案:在 Java 中将前导零添加到数字?
不过真的,就是这样。