数字工具类

/**
 * @author: 苗士军
 * @description 数字工具类
 */
NumberUtils = {
    /**
     * @description 定义0数字对象
     */
    zero: Number(0),
    /**
     * @description 判断是否是数字
     * @param val
     * @return {boolean}
     */
    isNumber: function (val) {
        if (val == '' || isNaN(val)) {
            return false;
        }
        return true;
    },
    /**
     * @description 转换数字对象
     * @param val
     * @return {*}
     */
    toNumber: function (val) {
        if (this.isNumber(val)) {
            return Number(val);
        } else {
            return this.zero;
        }
    },
    /**
     * @description 获取整数对象
     * @param val
     * @return {*}
     */
    parseInt: function (val) {
        return this.toNumber(parseInt(val));
    },
    /**
     * @description 获取小数对象
     * @param val
     * @return {*}
     */
    parseFloat: function (val) {
        return this.toNumber(parseFloat(val));
    },
    /**
     * @description  获取向上取整后的值
     * @param val
     * @return {*}
     */
    ceil: function (val) {
        return this.toNumber(Math.ceil(val));
    },
    /**
     * @description 获取小于x的最大整数
     * @param val
     * @return {*}
     */
    floor: function (val) {
        return this.toNumber(Math.floor(val));
    },
    /**
     * @description 获取四舍五入后的整数
     * @param val
     * @return {*}
     */
    round: function (val) {
        return this.toNumber(Math.round(val));
    },
    /**
     * @description 获取数字的最接近的单精度浮点型表示
     * @param val
     * @return {*}
     */
    fround: function (val) {
        return this.toNumber(Math.fround(val));
    },
    /**
     * @description 数字格式化
     * @param number 要格式化的数字
     * @param decimals 保留几位小数
     * @param decPoint 小数点符号
     * @param thousandsMark 千位符号
     * @param roundMode 舍入参数,默认 "ceil" 向上取,"floor"向下取,"round" 四舍五入
     * @return {string}
     */
    numberFormat: function (number, decimals, decPoint, thousandsMark, roundMode) {
        number = (number + '').replace(/[^0-9+-Ee.]/g, '');
        roundMode = roundMode || "ceil"; //"ceil","floor","round"
        var n = !isFinite(+number) ? 0 : +number,
            prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
            sep = (typeof thousandsMark === 'undefined') ? ',' : thousandsMark,
            dec = (typeof decPoint === 'undefined') ? '.' : decPoint,
            s = '',
            toFixedFix = function (n, prec) {
                var k = Math.pow(10, prec);
                console.log();
                return '' + parseFloat(Math[roundMode](parseFloat((n * k).toFixed(prec * 2))).toFixed(prec * 2)) / k;
            };
        s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
        var re = /(-?\d+)(\d{3})/;
        while (re.test(s[0])) {
            s[0] = s[0].replace(re, "$1" + sep + "$2");
        }
        if ((s[1] || '').length < prec) {
            s[1] = s[1] || '';
            s[1] += new Array(prec - s[1].length + 1).join('0');
        }
        return s.join(dec);
    }
}

 

转载于:https://www.cnblogs.com/miaosj/p/10677305.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/** * @project: WebProjectUtil * @class: NumberUtil * @describe: 此工具类用来处理数字方面的逻辑, * 如返回指定位数的随机数字、Double的加减乘除精确运算、指定位数数字用“0”补齐 * @autho: Administrator * @date: 2013-6-7 下午02:26:27 * @alter: Administrator * @alterDate: 2013-6-7 下午02:26:27 * @alterRemark: * @version V1.0 */ public class NumberUtil { private static final int DEF_DIV_SCALE = 2; /** * @return 返回12位随机数 */ public static String randomNumber() { } /** * @param parm * @return 返回指定位数随机数 */ public static String randomNumber(int parm) { } /** * * 两个Double数相加 * * @param v1 * @param v2 * @return Double */ public static Double add(Double v1, Double v2) { } /** * * 两个Double数相减 * * @param v1 * @param v2 * @return Double */ public static Double sub(Double v1, Double v2) { } /** * * 两个Double数相乘 * * @param v1 * @param v2 * @return Double */ public static Double mul(Double v1, Double v2) { } /** * * 两个Double数相除 * * @param v1 * @param v2 * @return Double */ public static Double div(Double v1, Double v2) { } /** * * 两个Double数相除,并保留scale位小数 * * @param v1 * @param v2 * @param scale * @return Double */ public static Double div(Double v1, Double v2, int scale) { } /** * 返回指定Double的负数 * @param v1 * @return */ public static Double neg(Double v1) { /** * @Title: toFixdLengthString * @Description: 将字符串用符号填充位数 * @param str 源字符串 * @param fixdlenth 位数 * @return String * @throws */ public static String toFixdLengthString(String str, int fixdlenth) { } /** * @Title: toFixdLengthString * @Description: 将数字用“0”填充位数 * @param num * @param fixdlenth * @return String * @throws */ public static String toFixdLengthString(int num, int fixdlenth) { } /** * @Title: generateSpaceString * @Description: 得到指定位数占位符 * @param length * @return String * @throws */ public static String generateSpaceString(int length) { } /** * @Title: generateZeroString * @Description: 得到指定位数的“0”的占位符 * @param length * @return String * @throws */ public static String generateZeroString(int length) { } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值