/**
     * 将数字转化为字符串,并格式化为指定的长度,不够位数的前面补指定字符
     * Input: 1, 5, '0'
     * Output: "00001"
     *
     * @return java.lang.String
     * @param value - 要转换的数字
     * @param number - 要补齐的位数
     * @param c char - 补充的字符
     */
    public static String leftPad(int value, int number, char c) {
        String s = "";
        String temp = (new Integer(value)).toString();
        if (temp.length() <= number) {
            for (int i = 0; i < number; i++) {
                s += c;
            }
            s = s.substring(0, number - temp.length()) + temp;
        }
        else {
            System.out.println("Error: " + number + "'s length is " + temp.length() + ", it's bigger than " + number + ".");
        }
        return s;
    }

解决方案 »

  1.   

    窃窃问一声:如果是在JSP里怎么写?
    本人有时确实很懒的说
    但绝对很真挚的很感谢所有回帖的朋友们
    :)
      

  2.   


    <%!    public String leftPad(int value, int number, char c) {
            String s = "";
            String temp = (new Integer(value)).toString();
            if (temp.length() <= number) {
                for (int i = 0; i < number; i++) {
                    s += c;
                }
                s = s.substring(0, number - temp.length()) + temp;
            }
            else {
                System.out.println("Error: " + number + "'s length is " + temp.length() + ", it's bigger than " + number + ".");
            }
            return s;
        }
    %>
      

  3.   

    非常感谢以上各位,test.jsp如下:
    <%!
    /**
         * 将数字转化为字符串,并格式化为指定的长度,不够位数的前面补指定字符
         * Input: 1, 5, '0'
         * Output: "00001"
         *
         * @return java.lang.String
         * @param value - 要转换的数字
         * @param number - 要补齐的位数
         * @param c char - 补充的字符
         */
        public String leftPad(int value, int number, char c) {
            String s = "";
            String temp = (new Integer(value)).toString();
            if (temp.length() <= number) {
                for (int i = 0; i < number; i++) {
                    s += c;
                }
                s = s.substring(0, number - temp.length()) + temp;
            }
            else {
                System.out.println("Error: " + number + "'s length is " + temp.length() + ", it's bigger than " + number + ".");
            }
            return s;
        }
    %>
    <%
    int aa = 21;
    String ff = leftPad(aa, 10, '0');
    out.print(""+ff+"");
    %>