`

JS -格式化数值

 
阅读更多
<script>
/**
 * 格式化数字
 * @param number
 * @param pattern
 * @return
 */
function formatNumber(number,pattern){
    var str            = number.toString();
    var strInt;
    var strFloat;
    var formatInt;
    var formatFloat;
    if(/\./g.test(pattern)){
        formatInt        = pattern.split('.')[0];
        formatFloat        = pattern.split('.')[1];
    }else{
        formatInt        = pattern;
        formatFloat        = null;
    }

    if(/\./g.test(str)){
        if(formatFloat!=null){
            var tempFloat    = Math.round(parseFloat('0.'+str.split('.')[1])*Math.pow(10,formatFloat.length))/Math.pow(10,formatFloat.length);
            strInt        = (Math.floor(number)+Math.floor(tempFloat)).toString();                
            strFloat    = /\./g.test(tempFloat.toString())?tempFloat.toString().split('.')[1]:'0';            
        }else{
            strInt        = Math.round(number).toString();
            strFloat    = '0';
        }
    }else{
        strInt        = str;
        strFloat    = '0';
    }
    if(formatInt!=null){
        var outputInt    = '';
        var zero        = formatInt.match(/0*$/)[0].length;
        var comma        = null;
        if(/,/g.test(formatInt)){
            comma        = formatInt.match(/,[^,]*/)[0].length-1;
        }
        var newReg        = new RegExp('(\\d{'+comma+'})','g');

        if(strInt.length<zero){
            outputInt        = new Array(zero+1).join('0')+strInt;
            outputInt        = outputInt.substr(outputInt.length-zero,zero)
        }else{
            outputInt        = strInt;
        }

        var 
        outputInt            = outputInt.substr(0,outputInt.length%comma)+outputInt.substring(outputInt.length%comma).replace(newReg,(comma!=null?',':'')+'$1')
        outputInt            = outputInt.replace(/^,/,'');

        strInt    = outputInt;
    }

    if(formatFloat!=null){
        var outputFloat    = '';
        var zero        = formatFloat.match(/^0*/)[0].length;

        if(strFloat.length<zero){
            outputFloat        = strFloat+new Array(zero+1).join('0');
            //outputFloat        = outputFloat.substring(0,formatFloat.length);
            var outputFloat1    = outputFloat.substring(0,zero);
            var outputFloat2    = outputFloat.substring(zero,formatFloat.length);
            outputFloat        = outputFloat1+outputFloat2.replace(/0*$/,'');
        }else{
            outputFloat        = strFloat.substring(0,formatFloat.length);
        }

        strFloat    = outputFloat;
    }else{
        if(pattern!='' || (pattern=='' && strFloat=='0')){
            strFloat    = '';
        }
    }

    return strInt+(strFloat==''?'':'.'+strFloat);
}

 alert(formatNumber(2000,'######,###'));
</script>
分享到:
评论

相关推荐

    JS中格式化数字的5个方法

    根据提供的文件信息,本文将详细介绍JavaScript中五种常用的数字格式化方法:`CurrencyFormatted`、`format_number`、`CommaFormatted`、`addCommas` 和 `number_format`。这些函数可以帮助开发者更加灵活地处理和...

    纯js实用格式化货币插件

    currencyFormatter.js是一个轻量级的JavaScript库,它专为前端开发者设计,用于将数字转换为格式化的货币值。这个插件的独特之处在于它的全面性和灵活性,不仅支持155种不同的国家货币,还包含了715种语言的本地化...

    数字或金额千分位格式化组件

    这个组件的主要功能是实现数字和金额的自动格式化,将输入的数值转换成带有千分位分隔符的格式,并控制小数点后的位数。这样不仅提升了用户体验,也使得数据更易于理解和比较。 在前端开发中,我们通常会用到...

    JavaScript数字格式化函数

    在JavaScript中,数字格式化是将数值转换为特定格式的过程,比如添加逗号分隔符、保留小数位数、货币格式等。这通常涉及到字符串处理和数学运算。本篇文章将深入探讨JavaScript中的数字格式化函数及其应用。 一、...

    离线json格式化查看工具下载

    3. **高亮显示**:为了增强可读性,许多离线JSON格式化工具还提供了语法高亮功能,不同类型的元素(如键、字符串、数值等)会使用不同的颜色进行区分。 4. **折叠/展开**:对于嵌套层次较深的JSON对象,工具通常...

    chart.js-javascript

    3. **初始化图表**: 在JavaScript中,使用`new Chart()`构造函数初始化图表,并传入canvas元素和配置对象。 ```javascript var ctx = document.getElementById('myChart').getContext('2d'); var myChart = new ...

    Numeral-js-master.zip_numeral.js

    Numeral.js是一个强大的JavaScript库,专门用于数值处理和格式化。这个库的目的是为了简化JavaScript中的数字操作,提供更加灵活和人性化的API,使得开发者在处理数字时能更高效、更方便。在"Numeral-js-master.zip...

    采用js实现具有复杂字符串的格式化操作类库函数

    4. **日期和货币格式化**:可能内置了对JavaScript的`Date`对象和货币数值的支持,提供格式化日期和货币的方法,例如 `formatDate` 和 `formatCurrency`。 5. **转换为字符串**:当所有操作完成时,`toString` 方法...

    json格式化软件

    JSON格式化软件的主要功能是将未经格式化的JSON数据转换为易读的格式,以便于开发者进行调试、查看和理解。 在开发过程中,我们经常会遇到JSON字符串,它们通常是长串的、没有缩进的字符,看起来非常难以理解和处理...

    JavaScript 格式化浮点类型函数

    在JavaScript编程中,处理浮点数格式化是一个常见的需求,特别是在数据展示或者用户交互时,我们经常需要将数值转换为特定格式,以便于理解和阅读。本文将深入探讨自定义浮点数格式化函数的设计和实现,以及在...

    Numeral.js一个用于格式化和操作数字的JavaScript库

    Numeral.js是一个强大的JavaScript库,专门设计用于数字的格式化和操作。这个库提供了一种简单易用的方式来处理日常的数字格式化需求,无论是显示货币、百分比、科学记数法还是其他各种数字格式,都能轻松应对。在...

    jQuery文本输入框内容格式化代码.zip

    而"js"目录则包含了核心的JavaScript代码,即jQuery文本输入框格式化插件的实现。 总的来说,这个插件是前端开发中一个非常实用的工具,它简化了用户在文本输入框中输入格式化数据的过程,提高了输入效率,同时也...

    currencyFormatterjs是一款简单实用的纯js格式化货币插件

    `currencyFormatterjs` 是一款专为前端开发者设计的轻量级JavaScript插件,其主要功能是实现对货币数值的格式化处理。这款插件具有强大的国际化支持,覆盖了155种不同的国家货币,并且包含了715种语言的本地化设置,...

    JS自动格式化输入的数字/千位分隔符.rar

    这个“JS自动格式化输入的数字/千位分隔符.rar”压缩包提供的代码就是为了解决这个问题。在网页的表单中,当用户输入数字时,代码会实时地将这些数字转换成带有千位分隔符的格式,提高数据的可读性,尤其是在处理...

    格式化写入文件程序

    JavaScript的`fs`模块配合模板字符串可以实现简单的格式化写入。 ```javascript const fs = require('fs'); fs.writeFileSync('output.txt', `${'Name'.padEnd(10)} ${30}`); // 使用padEnd填充空白 ``` 三、压缩...

    satellite-js-4.1.3.rar

    在这个领域,JavaScript库如satellite.js和Cesium.js为开发者提供了强大的工具,使得在Web端进行卫星轨迹模拟和可视化变得轻而易举。本文将深入探讨satellite.js 4.1.3版本的核心功能,并结合Cesium.js探讨其在卫星...

    js-number-functions:格式化javascript数字的简单函数

    "js-number-functions"项目提供了一系列简单的函数,旨在帮助开发者更方便地格式化JavaScript中的数字。这个库可能包含各种实用方法,如添加千位分隔符、格式化货币值、限制小数位数等。 在JavaScript中,原始的`...

    javascript格式化数字

    ### JavaScript 数字格式化方法详解 在日常的前端开发中,对数字进行格式化处理是一项常见的需求,尤其是在处理财务数据、统计报告或是任何需要友好显示数值的场景下。本文将深入解析一个JavaScript函数,该函数...

    asp.net+js实现金额格式化.docx

    整个流程中,`neg = objvalue.indexOf("-")`用于判断输入的数值是否为负数,以便在格式化时正确处理负号。这个解决方案不仅简单易懂,而且效率较高,适合在实际项目中应用。 此外,文章还提到了其他相关的...

    格式化函数源码,支持各种格式化

    5. **JSON.stringify()**:在JavaScript中,JSON.stringify()可以格式化JSON对象,提供缩进参数美化输出。 三、自定义格式化函数 编写自定义格式化函数通常涉及以下几个步骤: 1. **定义参数**:根据需要,定义...

Global site tag (gtag.js) - Google Analytics