zoukankan      html  css  js  c++  java
  • String字符串补0或空格

    Java 中给数字左边补0

    (1)方法一
    import java.text.NumberFormat;

    public class NumberFormatTest {

        public static void main(String[] args) {
            //待测试数据
            int i = 1;
            //得到一个NumberFormat的实例
            NumberFormat nf = NumberFormat.getInstance();
            //设置是否使用分组
            nf.setGroupingUsed(false);
            //设置最大整数位数
            nf.setMaximumIntegerDigits(4);
            //设置最小整数位数   
            nf.setMinimumIntegerDigits(4);
            //输出测试语句
            System.out.println(nf.format(i));
        }
    }

     来源:http://blog.csdn.net/xiaohunzhang/archive/2008/08/07/2782592.aspx

     

     (2)方法二(个人以为该方法简单有效,但经试验似乎String.format()函数有问题)

    1. public class TestStringFormat {      
    2.   public static void main(String[] args) {      
    3.     int youNumber = 1;      
    4.     // 0 代表前面补充0      
    5.     // 4 代表长度为4      
    6.     // d 代表参数为正数型      
    7.     String str = String.format("%04d", youNumber);      
    8.     System.out.println(str); // 0001      
    9.   }      
    10. }    

    来源:http://liuwei1981.javaeye.com/blog/319135

     

    (3)

    有时候我们需要固定长度的字符串做流水号,每添加一个记录时流水号的值加1,
    而流水号的长度保持不变。

    一般的做法是先把流水号转换为数值型,然后此数值加1,再把数值转换为字符串,
    长度不够流水号长度时再在前面补0:

    //流水号加1后返回
    public static String haoAddOne(String liuShuiHao){
        Integer intHao = Integer.parseInt(liuShuiHao);
        intHao++;
        String strHao = intHao.toString();
        while (strHao.length() < liuShuiHao.length())
            strHao = "0" + strHao;
        return strHao;
    }

    用java中的DecimalFormat,可以简化:

    //流水号加1后返回,流水号长度为4
    private static final String STR_FORMAT = "0000";

    public static String haoAddOne(String liuShuiHao){
        Integer intHao = Integer.parseInt(liuShuiHao);
        intHao++;
        DecimalFormat df = new DecimalFormat(STR_FORMAT);
        return df.format(intHao);
    }

     

    来源:http://hi.baidu.com/dingyongli/blog/item/9224a0443b098280b3b7dc5d.html

     

     

    (4)方法四(该方法也挺简单!)

    前提是你的长度已经确定!比如规定现实10位!

      int i_m = 27 ;
      String str_m = String.valueOf(i_m);
      String str ="0000000000";
      str_m=str.substring(0, 10-str_m.length())+str_m;
      System.out.println(str_m);

     

    来源:http://zhidao.baidu.com/question/49936618.html?fr=qrl&fr2=query

  • 相关阅读:
    MyBatis中Like语句使用总结
    使用dom4j解析xml为json对象
    实体类里布尔类型在数据库里可以用整型映射
    Java枚举根据key获取value
    Oracle和Mysql中mybatis模糊匹配查询区别
    解决3 字节的 UTF-8 序列的字节 3 无效
    git上传代码到github
    OpenShift 3.11离线环境的jenkins演示
    OpenShift下的JVM监控
    OpenShift 4.1 演示
  • 原文地址:https://www.cnblogs.com/PatrickLee/p/2626757.html
Copyright © 2011-2022 走看看