【Java/加解密】将字符串后N位用0覆盖

【需求】

将字符串后N位用0覆盖,如果字符串带小数点,则将小数点前的部分按此处理,小数点后丢弃。

【代码】

package com.hy.lab;

public class CoverWithZero {
    public static String encrypt(String original,int n){
        String[] arr=original.split("[.]");

        String part1=arr[0];
        char[] cs=part1.toCharArray();
        int length=cs.length;
        int index=0;

        for(int i=0;i<n;i++){
            index= length-1-i;

            if(index>=0){
                cs[index]='0';
            }else{
                break;
            }
        }

        return String.valueOf(cs);
    }

    public static void main(String[] args){
        String[] arr={"12345","123456","12453456.78","dsa23321321321","dsadsa","20220318","202203181616",};

        for(String str:arr){
            String enStr=CoverWithZero.encrypt(str,6);
            String msg=String.format("原文=%s,遮盖后=%s",str,enStr);
            System.out.println(msg);
        }
    }
}

【输出】

原文=12345,遮盖后=00000
原文=123456,遮盖后=000000
原文=12453456.78,遮盖后=12000000
原文=dsa23321321321,遮盖后=dsa23321000000
原文=dsadsa,遮盖后=000000
原文=20220318,遮盖后=20000000
原文=202203181616,遮盖后=202203000000

END

posted @ 2022-03-18 16:25  逆火狂飙  阅读(158)  评论(0)    收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东