数字以万做单位——Java

时间:2018-07-31 13:03:42   收藏:0   阅读:309

代码


    /**
     * 将一个数字处理为以万为单位的字符串,保留两位小数
     *
     * @param num
     * @return
     */
    public static String getTenThousandOfANumber(Integer num) {
        if (num < 10000) {
            return String.valueOf(num);
        }
        String numStr = new DecimalFormat("#.00").format(num / 10000d);
        String[] ss = numStr.split("\\.");
        if ("00".equals(ss[1])) {
            return ss[0] + "万";
        } else if (‘0‘ == (ss[1].charAt(1))) {
            return ss[0] + "." + ss[1].charAt(0) + "万";
        } else {
            return numStr + "万";
        }
    }


测试用例


import java.text.DecimalFormat;

/**
 * @author Yawei Xi
 * @since 2018-7-31 11:40
 */
public class Test {
    public static void main(String[] args) {
        int a = 9999;
        int b = 10000;
        int c = 10001;
        int d = 11000;
        int e = 11100;
        int f = 100000;

        System.out.println(getTenThousandOfANumber(a));
        System.out.println(getTenThousandOfANumber(b));
        System.out.println(getTenThousandOfANumber(c));
        System.out.println(getTenThousandOfANumber(d));
        System.out.println(getTenThousandOfANumber(e));
        System.out.println(getTenThousandOfANumber(f));
    }

    /**
     * 将一个数字处理为以万为单位的字符串,保留两位小数
     *
     * @param num
     * @return
     */
    public static String getTenThousandOfANumber(Integer num) {
        if (num < 10000) {
            return String.valueOf(num);
        }
        String numStr = new DecimalFormat("#.00").format(num / 10000d);
        String[] ss = numStr.split("\\.");
        if ("00".equals(ss[1])) {
            return ss[0] + "万";
        } else if (‘0‘ == (ss[1].charAt(1))) {
            return ss[0] + "." + ss[1].charAt(0) + "万";
        } else {
            return numStr + "万";
        }
    }
}


测试结果


9999
1万
1万
1.1万
1.11万
10万

原文:https://www.cnblogs.com/freelancy/p/9395080.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!