我可以在分数时得到余数,但如果我将306除以100。 例如 306/100 = 3
但如果我通过%运算符找到剩余的,我想回06,例如
期望的
306%100 = 06
实际发生的事情
306%100 = 6
有没有办法解决这个问题,以便返回两位数而不是一位?
答案 0 :(得分:13)
您正在收到号码。 6和06是相同的值。 int
(和类似类型)没有任何前导数字的概念。
如果您希望以特定方式格式化数字,当您将其转换为字符串(这是唯一重要的地方)时,那就是选择正确的格式代码。你总是想要两位数?使用格式“00”和DecimalFormat
。
import java.text.*;
class Test {
public static void main(String args[]) throws Exception {
NumberFormat format = new DecimalFormat("00");
int value = 6;
System.out.println(format.format(value)); // 06
}
}
(或使用String.format
或其他格式化方式。重点是数字6只是一个数字;将数字与其中的文字表示分开。)
答案 1 :(得分:2)
这只是格式化数字的问题。请参阅here。
答案 2 :(得分:1)
将其分成两部分;首先得到数学上正确的答案6
,然后以任何你想要的方式呈现它。如果您想要两位数,可以使用:
int x = 306 % 100;
System.out.format("%02d", x);
答案 3 :(得分:1)
实际上对于任何计算机语言,单个数字整数都不需要前导零。你永远不会用任何语言作为输出。
但是,如果您希望它像这样打印,您可以相应地格式化您的值: -
System.out.format("%02d", 6);
ZEROs
填充你的号码,第二个值(2)表示你想要多少0 .. 答案 4 :(得分:0)
我这6和06只是相同的值,但如果你想得到6的值,那么试试吧..
NumberFormat df = new DecimalFormat("00");
System.out.println(df.format(6));