从int删除第一个数字,但保持前导零

时间:2018-11-19 04:16:18

标签: java string int

如果int超过3位,我需要编写代码以删除第一位。例如,如果我有1055,则输出将为055。我当前的代码删除了第一位数字,但问题是它也删除了零并输出55而不是055。我将如何解决这个问题?我所指的变量是校验和

 int checksum = 0;
 int l = message.length();

 for (int i = 0; i < l; i++) { 3
   checksum += message.charAt(i);
 }
 if (checksum >= 1000) {
   checksum = Integer.parseInt(Integer.toString(checksum).substring(1));
 }
 physicalLayer.sendFrame("(" + message + ":" + checksum + ":.)");

2 个答案:

答案 0 :(得分:2)

您显然不能在SELECT DISTINCT A.NAME , B.PLAN FROM PLAYER A LEFT JOIN PLAYER B ON A.NAME = B.NAME and A.NAME IN ( 'BOGGIE', 'STEPH') AND B.PLAN IN ('PLAN200' , 'PLAN999'); 数据类型中保留前导零。 因此,将结果保存在int副本

String

答案 1 :(得分:0)

您提到的数字是否大于4位

int number = 1055;

    String text_no = Integer.toString(number);
    //System.out.println(text_no.substring(1,3));
    if(text_no.length() > 4) {
        System.out.println(text_no.substring(1));
    }

但是“ 1055”只有4位数字,如果条件不起作用,如果您只需要检查4位数字或更多数字,那么这将起作用

int number = 1055;

        String text_no = Integer.toString(number);
        //System.out.println(text_no.substring(1,3));
        if(text_no.length() >= 4) {
            System.out.println(text_no.substring(1));
        }