Concate Number和String为什么我得到这个结果

时间:2015-11-20 14:23:51

标签: java

我试图用字符串连接一个数字,我这样做了:

            int minute=7;
            String min = minute+"";

            if(min.length()==1){

                min = 0+minute+"";
            }

我得到7而不是07结果。为什么呢?

6 个答案:

答案 0 :(得分:2)

0和分钟都是整数,它们首先被评估为整数加法而不是字符串连接。

更改为:

min = 0 + "" + minute+"";

答案 1 :(得分:1)

尝试:

if(min.length() == 1){
    min = "0" + minute;
}

要编写2位数字,您还可以:

int minute = 7;
String s = String.format("%02d", minute);  // 07

答案 2 :(得分:1)

首先添加整数分钟和0,然后将它们转换为字符串。

答案 3 :(得分:1)

此:

0+minute+""

0+7+""

7+""

因为0+7==7

另一方面:

"0"+minute

"0"+7

"07"

答案 4 :(得分:1)

由于操作顺序。 0 + 7在7 +""之前执行。所以它在两个整数上做加法而不是连接它们。改变参数的顺序。

答案 5 :(得分:1)

操作从左到右执行:因此,0(一个int)+ min(另一个int)给出一个int,7。 然后,7(一个int)+“”(一个字符串)给出一个字符串。

洗脱液可以是“0”+ min

否则,我建议使用java.text.NumberFormat类来定义数字格式