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(0,''));
alert(formatNumber(12432.21,'#,###'));
alert(formatNumber(12432.21,'#,###.000#'));
alert(formatNumber(12432,'#,###.00'));
alert(formatNumber('12432.415','#,###.0#'));
</script>
- 浏览: 758561 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (663)
- Eclipse&MyEclipse (40)
- PHP (3)
- Java (72)
- CSS (3)
- MySQL (35)
- Oracle (68)
- Red Hat Linux (23)
- Tomcat (26)
- Oracle10gAS (1)
- Spring (28)
- MyBatis&iBatis (13)
- JS (47)
- JQuery (23)
- Editplus (2)
- 其他 (4)
- Html (15)
- SQL (5)
- Ant (2)
- Hadoop (2)
- Servlet (9)
- Windows (11)
- Flex (1)
- CentOS Linux (7)
- Microsoft SQL Server (2)
- DB2 (3)
- Mysql char 与 varchar 区别 (0)
- excel (5)
- jsp (8)
- FreeMarker (1)
- EasyUI (5)
- WebShpere MQ (1)
- Maven2 (6)
- 浏览器缓存 (2)
- visio (1)
- XML (2)
- 物联网 (1)
- Maven (3)
- JSTL (2)
- HTTP (1)
- Fourinone (1)
- IP知识 (1)
- MyBatis (1)
- 项目管理 (2)
- office2003+2007 (1)
- DOS (1)
- JProfiler (1)
- Thinpad T440p (1)
- ActiveMQ (10)
- MongoDB (5)
- Vert.x3 (1)
- Ngnix (3)
- Spark (2)
- BigData (1)
- 性能概念公式 (1)
- RocketMQ (3)
- IT名词术语 (1)
- Java编程工具 (1)
- RabbitMQ (2)
- MetaMQ (1)
- 架构 (6)
- KafkaMQ (7)
- Redis (4)
- OAuth (1)
- Gradle (1)
- CentOS (5)
- Microsoft_Toolkit (1)
- git (5)
- IntelliJ Idea (4)
- Nginx (3)
- docker (12)
- VMware (2)
- 算法 (1)
- JDBCPool (1)
- spring-cloud (7)
- netbean (1)
- 微信小程序 (2)
- CURL (2)
- Java生成二维码 (1)
- 区块链 (2)
- 机器学习 (1)
- SpringBoot (3)
- Android (9)
- 微服务架构 (1)
- Kubernetes (2)
- OpenProject (0)
- 测试 (1)
- https (1)
- 开源许可证 (1)
- ServiceMesh (2)
- NET (0)
- .NET (1)
- TEST (1)
- iOS (2)
- thymeleaf (4)
- lombok (1)
- 浏览器设置 (1)
- 富文本编辑器 (1)
- 搜索引擎 (1)
- IT常识 (1)
- UML (0)
- Axure (1)
- appstore无法联网 (0)
- apk无法安装 (1)
- SQLServer (2)
- 卸载弹窗软件 (1)
- jenkins (1)
- TortoiseGit (1)
- eureka (1)
- ajax (1)
- spyder (0)
最新评论
发表评论
-
js保留两位小数的方法如下
2021-08-20 10:29 2410js保留两位小数的方法 js保留两位小数 ... -
记一次:iframe嵌套网页,利用window.postMessage()实现子父窗口相互传值(转)
2019-12-13 09:57 925场景需要: http://a ... -
设置前端允许跨域请求后端API:Access-Control-Allow-Credentials(转)
2019-07-05 15:16 4140跨域报错信息: Console代码 ... -
JS后台菜单简易版(转)
2016-07-11 08:31 500<!DOCTYPE html PUBLIC &quo ... -
前端开发者不得不知的 ECMAScript 6 十大特性 (转)
2016-03-21 09:32 522ES6(ECMAScript2015)的出现,无疑给前端开发 ... -
17 行代码实现的简易 Javascript 字符串模板(转)
2016-03-01 14:19 720原作者:http://www.thinksaas.cn/g ... -
JSON字符串与JSON对象互转(前、后台)(转)
2015-11-19 09:09 2024SON官网:官网地址 (各种编程语言对应的工具应有尽有,前提 ... -
AMD:浏览器中的模块规范(转)
2015-11-17 15:58 522Snandy Stop, thinking is ... -
require.js的用法(转)
2015-11-17 15:44 605一、为什么要用require.js? 最早的时候,所有Ja ... -
[JS]jQuery中attr和prop方法的区别
2015-11-12 14:17 732原作者:http://blog.csdn.net/szwan ... -
jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})()
2015-11-12 14:03 659原作者:http://blog.csdn.net/szwan ... -
$.extend(true,{},a,b),深入理解,小心陷阱(转)
2015-11-12 13:53 1127$.extend一般情景下,使 ... -
Script error for: echarts/util/shape/HalfSmoothPolygon
2015-09-29 09:59 0Error: Script error for: ec ... -
JavaScript声明全局变量三种方式的异同
2015-08-27 15:54 481JavaScript中声明变量格式:var(关键字)+变量名( ... -
JavaScript function函数种类 (转)
2015-08-27 09:39 616【原作者】http://www.cnblogs.com/po ... -
JS日期转换
2015-07-21 15:05 704方法一:这个很不错,好像是 csdn 的 Meizz 写的: ... -
js 中{},[]中括号,大括号使用详解(转)
2015-06-17 16:57 2579js 中{},[]中括号,大括号使用详解 作者: 字体: ... -
javascript之数组操作 (转)
2015-05-31 00:02 690http://www.cnblogs.com/zhangzt/ ... -
javascript 中的几种 括号 (转)
2015-05-31 00:02 873小括号 JavaScript中小括号有五种语义 ... -
八款你不得不知的开源前端JS框架(转)
2014-11-02 21:31 934本文推荐了八款比较热门和经典的Javascript 开源框架 ...
相关推荐
该文档为javascript的数字格式化方法,可用于保留小数位,强制添0等操作
`formatNumber`函数提供了一种灵活且强大的方式来格式化数字,无论是处理大额数值还是精细化的小数点操作,都能轻松应对。通过对格式模板的定制,可以满足不同场景下的展示需求,极大地提升了用户体验与数据呈现的...
在JavaScript中,日期和数字的文本格式化是一个常见的需求,特别是在构建用户界面或者处理数据时。这个主题主要涉及如何将日期对象转换为易读的字符串,以及如何对数字进行格式化,使其符合特定的显示标准。这篇博文...
此函数用于格式化数字,使其保持指定的小数位数,并且在必要时进行四舍五入处理。 #### 参数说明 - `pnumber`: 需要被格式化的数字。 - `decimals`: 小数点后保留的位数,默认为0。 #### 示例代码 ```javascript ...
"finereport格式化金额函数js中进行数字超大金额千位符格式化处理" 本文主要讲解了finereport格式化金额函数在JS中进行数字超大金额千位符格式化处理的方法。该需求在前端开发中非常普遍,例如音乐app中的歌曲播放...
在ES6中,`Intl.NumberFormat`是一个全局对象,它可以用来根据地区设置格式化数字。例如,格式化为美元: ```javascript let number = 123456.789; let formatter = new Intl.NumberFormat('en-US', {style: '...
在JavaScript中,对数字进行货币格式化的处理是非常常见的需求,尤其是在财务或电子商务相关的应用程序中。以下是对给定代码片段的深入解析和知识点总结。 #### 标准货币格式化函数 `formatCurrency` 此函数实现了...
然而,这些方法返回的是数字,如果你想要格式化成易读的字符串,就需要自己拼接。例如: ```javascript let year = date.getFullYear(); let month = "0" + (date.getMonth() + 1); let day = "0" + date.getDate()...
JavaScript 实现数字转换成中文是一种常见的编程需求,特别是在处理金融、会计等领域,中文数字的表示方式更加直观且符合中文阅读习惯。以下是一个简单的 JavaScript 函数,用于将阿拉伯数字转换为中文数字。 首先...
Numeral.js提供了一种方便的方式来格式化数字,包括货币,百分比,数字等。例如,`numeral(1234567.89).format('0,0.00')`将输出"1,234,567.89"。accounting.js则提供了类似的功能,如`accounting.formatMoney...
例如,`new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(num)`将格式化数字为美元格式。 基于以上原理,我们可以编写一个自定义的浮点数格式化函数,接受两个参数:一个是需要格式...
在JavaScript中,日期格式化是一项常见的任务,尤其是在处理用户界面展示或者数据存储时。`Date`对象是JavaScript内置的对象,提供了处理日期和时间的各种方法。在这个场景中,我们需要将一个像"XXXX年XX月XX日"这样...
在JavaScript开发过程中,有时我们需要对数字或字符串进行特定格式化,比如金额、电话号码或身份证号等。"normat"库就是为此目的设计的一个通用工具,它提供了方便的方法来处理和格式化各种类型的编号和字符串。这个...
JavaScript中的数字格式化是编程中常见的一种需求,它主要用于将数字按照特定的样式输出,例如添加千位分隔符、保留小数位数等。在提供的代码中,`format`函数实现了这一功能,它接受两个参数:`number`是要格式化的...
2. **易于使用的API**:Numeral.js提供了简洁的API,允许开发者通过`numeral(number).format(format)`来快速格式化数字。例如,`numeral(123456.789).format('0,0.00')`将返回`"123,456.79"`。 3. **数字转换**:...
**jQuery数字格式化分隔符插件:jquery-number-divider** 在网页开发中,尤其是在处理大量数据或财务信息时,数字的格式化显得尤为重要。`jquery-number-divider` 是一个专为jQuery设计的轻量级插件,它使得在前端...
JavaScript代码会找到这个元素,并将格式化后的时间文本插入到其中。例如: ```javascript document.getElementById('clock').innerText = formatTime(hours, minutes, seconds); ``` `formatTime`函数会把小时、...
"数字或金额千分位格式化组件"就是为了解决这个问题而设计的一种工具。这个组件的主要功能是实现数字和金额的自动格式化,将输入的数值转换成带有千分位分隔符的格式,并控制小数点后的位数。这样不仅提升了用户体验...
### JavaScript将中国数字格式转换为欧式数字格式的知识点解析 #### 一、背景与需求分析 在进行国际化应用开发时,经常会遇到不同地区对于数字显示习惯的差异问题。例如,在中国,大数值通常以万(10,000)为单位...