使用Java获取剩余部分

时间:2012-10-05 06:12:47

标签: java

我可以在分数时得到余数,但如果我将306除以100。 例如 306/100 = 3

但如果我通过%运算符找到剩余的,我想回06,例如

期望的

306%100 = 06

实际发生的事情

306%100 = 6

有没有办法解决这个问题,以便返回两位数而不是一位?

5 个答案:

答案 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);
  • 首先0表示你想用ZEROs填充你的号码,第二个值(2)表示你想要多少0 ..

答案 4 :(得分:0)

我这6和06只是相同的值,但如果你想得到6的值,那么试试吧..

NumberFormat df = new DecimalFormat("00");
System.out.println(df.format(6));