<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>
分享到:
相关推荐
根据提供的文件信息,本文将详细介绍JavaScript中五种常用的数字格式化方法:`CurrencyFormatted`、`format_number`、`CommaFormatted`、`addCommas` 和 `number_format`。这些函数可以帮助开发者更加灵活地处理和...
currencyFormatter.js是一个轻量级的JavaScript库,它专为前端开发者设计,用于将数字转换为格式化的货币值。这个插件的独特之处在于它的全面性和灵活性,不仅支持155种不同的国家货币,还包含了715种语言的本地化...
这个组件的主要功能是实现数字和金额的自动格式化,将输入的数值转换成带有千分位分隔符的格式,并控制小数点后的位数。这样不仅提升了用户体验,也使得数据更易于理解和比较。 在前端开发中,我们通常会用到...
在JavaScript中,数字格式化是将数值转换为特定格式的过程,比如添加逗号分隔符、保留小数位数、货币格式等。这通常涉及到字符串处理和数学运算。本篇文章将深入探讨JavaScript中的数字格式化函数及其应用。 一、...
3. **高亮显示**:为了增强可读性,许多离线JSON格式化工具还提供了语法高亮功能,不同类型的元素(如键、字符串、数值等)会使用不同的颜色进行区分。 4. **折叠/展开**:对于嵌套层次较深的JSON对象,工具通常...
3. **初始化图表**: 在JavaScript中,使用`new Chart()`构造函数初始化图表,并传入canvas元素和配置对象。 ```javascript var ctx = document.getElementById('myChart').getContext('2d'); var myChart = new ...
Numeral.js是一个强大的JavaScript库,专门用于数值处理和格式化。这个库的目的是为了简化JavaScript中的数字操作,提供更加灵活和人性化的API,使得开发者在处理数字时能更高效、更方便。在"Numeral-js-master.zip...
4. **日期和货币格式化**:可能内置了对JavaScript的`Date`对象和货币数值的支持,提供格式化日期和货币的方法,例如 `formatDate` 和 `formatCurrency`。 5. **转换为字符串**:当所有操作完成时,`toString` 方法...
JSON格式化软件的主要功能是将未经格式化的JSON数据转换为易读的格式,以便于开发者进行调试、查看和理解。 在开发过程中,我们经常会遇到JSON字符串,它们通常是长串的、没有缩进的字符,看起来非常难以理解和处理...
在JavaScript编程中,处理浮点数格式化是一个常见的需求,特别是在数据展示或者用户交互时,我们经常需要将数值转换为特定格式,以便于理解和阅读。本文将深入探讨自定义浮点数格式化函数的设计和实现,以及在...
Numeral.js是一个强大的JavaScript库,专门设计用于数字的格式化和操作。这个库提供了一种简单易用的方式来处理日常的数字格式化需求,无论是显示货币、百分比、科学记数法还是其他各种数字格式,都能轻松应对。在...
而"js"目录则包含了核心的JavaScript代码,即jQuery文本输入框格式化插件的实现。 总的来说,这个插件是前端开发中一个非常实用的工具,它简化了用户在文本输入框中输入格式化数据的过程,提高了输入效率,同时也...
`currencyFormatterjs` 是一款专为前端开发者设计的轻量级JavaScript插件,其主要功能是实现对货币数值的格式化处理。这款插件具有强大的国际化支持,覆盖了155种不同的国家货币,并且包含了715种语言的本地化设置,...
这个“JS自动格式化输入的数字/千位分隔符.rar”压缩包提供的代码就是为了解决这个问题。在网页的表单中,当用户输入数字时,代码会实时地将这些数字转换成带有千位分隔符的格式,提高数据的可读性,尤其是在处理...
在这个领域,JavaScript库如satellite.js和Cesium.js为开发者提供了强大的工具,使得在Web端进行卫星轨迹模拟和可视化变得轻而易举。本文将深入探讨satellite.js 4.1.3版本的核心功能,并结合Cesium.js探讨其在卫星...
JavaScript的`fs`模块配合模板字符串可以实现简单的格式化写入。 ```javascript const fs = require('fs'); fs.writeFileSync('output.txt', `${'Name'.padEnd(10)} ${30}`); // 使用padEnd填充空白 ``` 三、压缩...
"js-number-functions"项目提供了一系列简单的函数,旨在帮助开发者更方便地格式化JavaScript中的数字。这个库可能包含各种实用方法,如添加千位分隔符、格式化货币值、限制小数位数等。 在JavaScript中,原始的`...
### JavaScript 数字格式化方法详解 在日常的前端开发中,对数字进行格式化处理是一项常见的需求,尤其是在处理财务数据、统计报告或是任何需要友好显示数值的场景下。本文将深入解析一个JavaScript函数,该函数...
整个流程中,`neg = objvalue.indexOf("-")`用于判断输入的数值是否为负数,以便在格式化时正确处理负号。这个解决方案不仅简单易懂,而且效率较高,适合在实际项目中应用。 此外,文章还提到了其他相关的...
5. **JSON.stringify()**:在JavaScript中,JSON.stringify()可以格式化JSON对象,提供缩进参数美化输出。 三、自定义格式化函数 编写自定义格式化函数通常涉及以下几个步骤: 1. **定义参数**:根据需要,定义...