zoukankan      html  css  js  c++  java
  • Java中NumberUtil工具类(持续更新中)

    import java.text.DecimalFormat;
    
    
    public class NumberUtil {
        
        /**
         * 0与#的区别
         * 0的话如果有值显示,没有值显示0
         * #的话如果有值显示,没有值不显示
         */
        
        public static DecimalFormat FORMAT_COMMA_STYLE = new DecimalFormat(",##0.00");
        public static DecimalFormat FORMAT_COMMA_ZERO_STYLE = new DecimalFormat(",##0");
        public static DecimalFormat FORMAT_PERCENT_STYLE = new DecimalFormat("#0.00%");
    
        // 将数字转化为汉字的数组,因为各个实例都要使用所以设为静态
        private static final char[] cnNumbers = { '零', '一', '二', '三', '四', '五',
                '六', '七', '八', '九' };
        
        // 供分级转化的数组,因为各个实例都要使用所以设为静态
        private static final char[] series = { '十', '百', '千', '万', '十', '百',
                '千', '亿' };
        
        /**
         * 数字转换成大写中文
         */
        public static final String parseToChinese(String original) {
            // 成员变量初始化
            String integerPart = "";
            String floatPart = "";
    
            if (original.contains(".")) {
                // 如果包含小数点
                int dotIndex = original.indexOf(".");
                integerPart = original.substring(0, dotIndex);
                floatPart = original.substring(dotIndex + 1);
            } else {
                // 不包含小数点
                integerPart = original;
            }
            StringBuffer sb = new StringBuffer();
    
            // 整数部分处理
            for (int i = 0; i < integerPart.length(); i++) {
                int number = getNumber(integerPart.charAt(i));
    
                sb.append(cnNumbers[number]);
                if(i <= integerPart.length() - 2){
                    sb.append(series[integerPart.length() - 2 - i]);
                }
            }
    
            // 小数部分处理
            if (floatPart.length() > 0) {
                sb.append("点");
                for (int i = 0; i < floatPart.length(); i++) {
                    int number = getNumber(floatPart.charAt(i));
    
                    sb.append(cnNumbers[number]);
                }
            }
    
            // 返回拼接好的字符串
            return sb.toString();
        }
        
        /**
         * 将字符形式的数字转化为整形数字 
         */
        private static int getNumber(char c) {
            String str = String.valueOf(c);
            return Integer.parseInt(str);
        }
        
        /**
         * 千分位不保留两位小数
         * @param object
         * @return
         */
        public static String NUM_FORMAT_COMMA_ZERO(Object object) {
            if(object==null){
                return "--";
            }
            return FORMAT_COMMA_ZERO_STYLE.format(object);
        }
        
        /**
         * 千分位两位小数
         * @param object
         * @return
         */
        public static String NUM_FORMAT_COMMA(Object object) {
            if(object==null){
                return "--";
            }
            return FORMAT_COMMA_STYLE.format(object);
        }
        
        /**
         * 百分比两位小数
         * @param object
         * @return
         */
        public static String NUM_FORMAT_PERCENT(Object object) {
            if(object==null){
                return "--";
            }
            return FORMAT_PERCENT_STYLE.format(object);
        }
        
    }
  • 相关阅读:
    SQL错误码
    用collectionview实现瀑布流-转
    iOS开发~CocoaPods使用详细说明
    传值
    iOS 传值方式
    iOS Cocos2d-x 开发环境的搭建
    iOS 高效率编程工具篇
    iOS地图定位系统语言为英文时,返回中文位置信息
    Xcode脚本自动化打包问题:xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
    Cannot create __weak reference in file xxxxxxxxx
  • 原文地址:https://www.cnblogs.com/chuanqi1995/p/11232368.html
Copyright © 2011-2022 走看看