1

在java中,我想做 102%100 并将余数设为 02 而不是 2 .. 我该怎么做?

int a = (102%100);

a 返回 2 而不是 02.. 我想得到 02.. 因为最初,它应该是 1.02,但 mod 返回 2. :( 有人知道该怎么做吗?

4

4 回答 4

5

2并且02是相同的数字。

由于您使用它来查找小数点后的前两个数字,因此只需用0. 如果你想要小数点后的所有数字,更常用的方法是这样做:

//Strip all numbers before decimal-point
double decimalDigits = myNumber - (int)myNumber;
于 2011-12-12T02:54:26.190 回答
3

NumberFormat可能是最好的方法。String.format 和进行计算也可以,但由于您正在格式化数字,不妨使用数字格式化程序。

一个例子。我在这里猜测您的要求(例如 110%100 应该返回什么,或者您只期望一个位数的余数?):

NumberFormat formatter = new DecimalFormat("'0'#");
int remainder = 102%100;
System.out.println(formatter.format(remainder));
于 2011-12-12T03:02:37.260 回答
1

作为整数,它们代表相同的数字。使用以下命令将数字格式化为字符串以用于显示目的:

int a = 102 / 100;
int r = 102 % 100;
System.out.print(a + "." + String.format("%02d", r));

输出:

1.02
于 2011-12-12T02:55:52.580 回答
0

这是用零填充数字的答案:在 Java 中将前导零添加到数字?

不过真的,就是这样。

于 2011-12-12T02:56:09.247 回答