在java中,我想要做102%100,并将余数作为02而不是2 ..我该怎么做?在java中,我想做102%100,并得到其余的为02而不是2 ..我该怎么做?
int a =(102%100);
一个回报2,而不是02 ..我想02 .. 因为本来,它应该是1.02,但国防部返回2 :( 任何人都知道该怎么做?
在java中,我想要做102%100,并将余数作为02而不是2 ..我该怎么做?在java中,我想做102%100,并得到其余的为02而不是2 ..我该怎么做?
int a =(102%100);
一个回报2,而不是02 ..我想02 .. 因为本来,它应该是1.02,但国防部返回2 :( 任何人都知道该怎么做?
2
和02
是相同的数字。
由于您使用此找到小数点后的前两个数字,只是垫用0
任何一个数字。如果你想在小数点之后所有的号码,更常用的方法是这样做的:
//Strip all numbers before decimal-point
double decimalDigits = myNumber - (int)myNumber;
有没有自动的方式来做到这一点? T_T –
@황현정:如果你只是为了方便展示而做到这一点,那么是的,有;实际上,您可以自动格式化小数点,而不用担心这一切。查看[字符串格式化程序](http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html)类。 –
是的,NumberFormat。我将添加一个代码片段 –
作为整数,它们表示相同的数字。使用以下方法来格式化数字作为显示用途的字符串:
int a = 102/100;
int r = 102 % 100;
System.out.print(a + "." + String.format("%02d", r));
输出:
1.02
这里躺着的答案,填充数字与零:Add leading zeroes to number in Java?
真的不过,这就是它。
NumberFormat可能是最好的方法。 String.format和做计算也可以,但是由于你正在格式化一个数字,所以最好使用数字格式化程序。
一个例子。我在这里猜测你的要求(例如110%100应该返回什么,或者你只希望得到一位数的剩余吗?):
NumberFormat formatter = new DecimalFormat("'0'#");
int remainder = 102%100;
System.out.println(formatter.format(remainder));
你让数字与字符串表示形式混淆 - 一个微妙但重要的区别。 –