Java格式化字符串,左对齐,左补0

      今天在做java编程实现邮件发送的时候,遇到邮件发送的内容涉及表格形式的数据,不适合用附件,只能用对齐的形式来展现表格内容,一开始很苦恼,不知道该怎么对齐,最后写了下面这个函数,实现了格式化字符串,左对齐的功能,很简单的函数,却解决了问题。

  下面这段代码,可以处理字符串的左对齐输出,可以自定义补充的字符(不仅限于‘ ’),可以自定义补充后字符串的长度。
package com.test;
public class TestFormat {

     TestFormat(){
     };
 
     /* c 要填充的字符   
    *  length 填充后字符串的总长度   
    *  content 要格式化的字符串  
    *  格式化字符串,左对齐
    * */
 public String flushLeft(char c, long length, String content){           
       String str = "";   
       long cl = 0;  
       String cs = "";   
       if (content.length() > length){   
            str = content;   
       }else{  
            for (int i = 0; i < length - content.length(); i++){   
                cs = cs + c;   
            }
          }
        str = content + cs;    
        return str;    
   }  
 
   public static void main(String[]args){
       TestFormat test1 = new TestFormat();
      TestFormat test1 = new TestFormat();
      String th1 = test1.flushLeft(' ',6 , "编号");
      String th2 = test1.flushLeft(' ',10 , "内容");
      String id1 = test1.flushLeft(' ',6 , "12");
      String id2 = test1.flushLeft(' ',6 , "1233");
      String name1 = test1.flushLeft(' ',10 , "abcde");
      String name2 = test1.flushLeft(' ',10 , "1dd");
      System.out.print(th1+th2+"\n");
      System.out.print(id1+name1+"\n");
      System.out.print(id2+name2+"\n"); 

   }
}

 

      我们在做数据处理的时候,根据具体要求,可能需要对某些数据,比如数字、字符串,进行格式化输出。其中较为常见的是对数字进行右对齐输出,比如右对齐,左补0.例如:数字12,格式化为0012,数字123,格式化为0123.

下面是实现该需求的两种方法,利用了java本身的格式化功能。
package test;      
public class FormatTest   

{   
    public static void main(String[] args)   {   
        int number1 = 5;   
        int number2 = 0;   
        int number3 = -12;   
        System.out.println("\n------------------  方法 1  ------------\n");   
        java.text.DecimalFormat format = new java.text.DecimalFormat("0000");   
        System.out.println(format.format(number1));   
        System.out.println(format.format(number2));   
        System.out.println(format.format(number3));   
  
        System.out.println("\n------------------  方法 2  ------------\n");   
        // 0 代表前面补充0   
        // 4 代表长度为4   
       // d 代表参数为正数型   
      String str1 = String.format("%04d", number1);   
         String str2 = String.format("%04d", number2);   
         String str3 = String.format("%04d", number3);   
         System.out.println(str1);   
         System.out.println(str2);   
         System.out.println(str3);   
    }   
}  
  

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值