Java限制长度整数

时间:2017-01-15 18:37:22

标签: java validation integer

我是Java的新手,我需要一些帮助。

有人可以告诉我如何在此代码中将限制长度设置为整数= 6.

例如

id = 124973 

public void setId(int id) {
    this.id = id;
}

5 个答案:

答案 0 :(得分:6)

一种方法是这样的:

public boolean checkLength(int id, int length) {
    return 0 == (int)(id / Math.pow(10, length));
}

修改

根据下面的@EliSadoff评论,你也可以这样做:

public boolean checkLength(int id, int length) {
    return Math.log10(id) < length;
}

然后你可以简单地调用这个函数:

checkLength(123456, 6);

答案 1 :(得分:3)

“String.valueOf(id).length()” - 检查在setId方法参数中收到的int变量的长度。

public void setId(int id){
    if(6 >= String.valueOf(id).length())
       this.id= id;
    else
       //do something if the received id's length is greater than max
}

答案 2 :(得分:3)

setId方法中添加支票:

if (id >= 1000000 || id < 0) {
   throw new IllegalArgumentException("id must be max 6 digits and cannot be negative");
}  

答案 3 :(得分:2)

在分配之前验证inp

public void setId(int id){
    if(id>0 && id<=999999){
        this.id= id;
    }else{
        this.id= 0;
    }
}

答案 4 :(得分:0)

在像int这样的java数字中没有长度。尽管Integer是一个类,但没有length()函数 - 请参阅Java文档。因此,要查找长度,必须使用public void snoozeClicked(View view){ MainActivity.ringtone.stop(); Handler handler = new Handler(); handler.postDelayed(new Runnable() { public void run() { // Actions to do after 10 seconds Intent myIntent = new Intent(AlarmActivity.this, AlarmReceiver.class); sendBroadcast(myIntent); finish(); } }, 10000); 将Integer转换为String。所以,你可以这样做:

String.valueOf(Integer_value)