javascript中将整数添加千位符号
如果num是整数的话,将其转换成带千位符号的字符串:
Number(num).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + ',');
另外,http://www.cnblogs.com/yeminglong/p/5301295.html 给出了小数的转换格式,如下:
/**
*
* @param num
* @param precision
* @param separator
* @returns {*}
*=======================================================
* formatNumber(10000)="10,000"
* formatNumber(10000, 2)="10,000.00"
* formatNumber(10000.123456, 2)="10,000.12"
* formatNumber(10000.123456, 2, ' ')="10 000.12"
* formatNumber(.123456, 2, ' ')="0.12"
* formatNumber(56., 2, ' ')="56.00"
* formatNumber(56., 0, ' ')="56"
* formatNumber('56.')="56"
* formatNumber('56.a')=NaN
*=======================================================
*/
function formatNumber(num, precision, separator) {
var parts;
// 判断是否为数字
if (!isNaN(parseFloat(num)) && isFinite(num)) {
// 把类似 .5, 5. 之类的数据转化成0.5, 5, 为数据精度处理做准, 至于为什么
// 不在判断中直接写 if (!isNaN(num = parseFloat(num)) && isFinite(num))
// 是因为parseFloat有一个奇怪的精度问题, 比如 parseFloat(12312312.1234567119)
// 的值变成了 12312312.123456713
num = Number(num);
// 处理小数点位数
num = (typeof precision !== 'undefined' ? num.toFixed(precision) : num).toString();
// 分离数字的小数部分和整数部分
31 parts = num.split('.');
32 // 整数部分加[separator]分隔, 借用一个著名的正则表达式
parts[0] = parts[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + (separator || ',')); return parts.join('.');
36 }
return NaN;
}
/**
* 把数字转换成货币的格式
* @param decimals
* @param dec_point
* @param thousands_sep
* @returns {string}
*/
Number.prototype.format=function(decimals, dec_point, thousands_sep){
var num = (this + '')
.replace(/[^0-9+\-Ee.]/g, '');
var n = !isFinite(+num) ? 0 : +num,
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
s = '',
toFixedFix = function(n, prec) {
var k = Math.pow(10, prec);
return '' + (Math.round(n * k) / k)
.toFixed(prec);
};
// Fix for IE parseFloat(0.55).toFixed(0) = 0;
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n))
.split('.');
if (s[0].length > 3) {
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
}
if ((s[1] || '')
.length < prec) {
s[1] = s[1] || '';
s[1] += new Array(prec - s[1].length + 1)
.join('0');
}
return s.join(dec);
}
javascript中将整数添加千位符号的更多相关文章
- 电子科大POJ "整数的千位分隔"
整数的千位分隔 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) C-source ...
- 在SQL service或Oracle中将数字转换成有千位符号
1.在SQL service中的写法: --Function主体 CREATE FUNCTION [dbo].[FnMoneyStyle](@Number )) RETURNS VARCHAR() A ...
- JS 实现四舍五入保留两位小数并且添加千位分隔符
var a = "-123456789.078";a = (Math.round(a * 100) / 100).toFixed(2).toString().replace(/(\ ...
- js为数字添加千位分隔符
1.字符串处理比较复杂 function test(str){ var iNum = str.length % 3; var prev = ''; var iNow = 0; var ...
- js添加千位分隔符
function thousandBitSeparator(num){ var re=/\d{1,3}(?=(\d{3})+$)/g; var n1=num.toString().replace(/^ ...
- 千位分隔符(js 实现)
最近被同事问到js如何实现给长数字添加千位分隔符,即 1344444 ---> 13,444,444 这是一个很常见的前端面试题.看起来简单,刚开始我都懒得写. 仔细一想,挺考逻辑的,实现方法有 ...
- [java] 将整数在千分位或万分位以逗号分隔表示
简单使用DecimalFormat的功能就能做到了,代码如下: package com.testEmp; import java.text.DecimalFormat; public class Nu ...
- 把一串数字表示成千位分隔形式——JS正则表达式的应用
梳理思路 要先明白的是,我们将要转换成的数字格式是这样:从个位往左数起,每三位前插入一个千位分隔符,,即可以想象成我们要把每三位数字前面的那个空""匹配出来,并替换成千位分隔符,. ...
- JS实现数字千位符格式化方法
/** * [number_format 参数说明:] * @param {[type]} number [number:要格式化的数字] * @param {[type]} decimals [de ...
随机推荐
- <CPP学习>第一天 第一个CPP程序 hello word
由于我是计算机类嵌入式专业的大一学生,之前一直使用的是生万物的C语言,了解了其过程性语言的特性及其基础语法,在大一下学期期末阶段想自学一下C++,其实在开学初就买了一本C++ Primer,但由于各种 ...
- Percona-Tookit工具包之pt-visual-explain
Preface As usual we will check the MySQL executed plan of SQL query by execute "explain ...
- linux基础指令以及权限管理
基础指令 #打印字符串 echo hello linux #将file1 和 file2粘合在一起,打印到标准输出流 cat file1 file2 标准输入输出 标准输入,stdin,即键盘.鼠标输 ...
- linux运维、架构之路-shell编程(一)
一.shell编程入门必备基础 1.vim编辑器的命令,vimrc设置 2.150个linux基础命令 3.linux中基础的系统服务crond,ssh网络服务,nfs,rsync,inotify,l ...
- 【mysql处理远程登陆授权及数据库迁移备份问题】
Database changedMariaDB [mysql]> grant all PRIVILEGES on mysql.* to root@'%' identified by '123'; ...
- p标签内不能含有块元素。
原来一直听网上这样说.自己并没有实际遇到过.上例子. <!DOCTYPE html> <html> <head> <meta charset="ut ...
- MySQL建表
-- 1.创建部门表dept 1 CREATE TABLE dept( 2 deptno INT PRIMARY KEY, 3 dname VARCHAR(20) UNIQUE NOT NULL, 4 ...
- YII2.0学习二 安装adminlte 后台模板
控制台切换到安装目录wwwroot/shanghai/ 修改一下composer镜像地址:composer 使用中国镜像 运行 composer require dmstr/yii2-adminlte ...
- Git 克隆指定分支代码
git clone 指定分支 拉代码 1.git clone 不指定分支 git clone http://10.1.1.11/service/sz-service.git 2.git clone ...
- PostgreSQL字段名和表名大小写的问题
创建表的时候,表名和字段名必须全小写,然后查询的时候不管全大写或全小写,或是Camel模式都不会报错.只要名称中有大写字母,或者全大写,查询时就必须保证大小写正确并用双引号包起来,否则就会报“XXX不 ...