2301_79962514 2023-10-31 16:38 采纳率: 0%
浏览 7

Java用方法来显示千分位

用方法把一串数字的千分位显示出来,让从最低位开始,每三位有一个逗号来表示千分位

  • 写回答

3条回答 默认 最新

  • micthis 2023-10-31 17:08
    关注
    public class Test {
        public static void main(String []args) {
            String[] arr={"1","12","123","1234","12345","123456","1234567",
                          "1.1","12.12","123.123","1234.1234","12345.12345","123456.123456","1234567.1234567"};
            for(String s : arr)
                System.out.println(convt(s,","));
        }
        static String convt(String s,String sep) {
            if(s.length()==0)
                return s;        
            StringBuilder sb=new StringBuilder();
            int dot=s.indexOf("."),n,len;
            if(dot==-1) {
                n=s.length()/3;
                len=s.length()%3;
            } else {
                n=dot/3;
                len=dot%3;
            }
            if(len==0) {
                n--;
                len=3;
            }
            sb.append(s.substring(0,len));
            while(n>0) {
                sb.append(sep);
                sb.append(s.substring(len,len+3));
                len+=3;
                n-=1;
            }
            if(dot!=-1)
                sb.append(s.substring(dot));
            return sb.toString();
        }
    }
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 10月31日