js 实现数值的千分位及保存小数方法(推荐)
实例如下:
/** * 将数值四舍五入后格式化. * * @param num 数值(Number或者String) * @param cent 要保留的小数位(Number) * @param isThousand 是否需要千分位 0:不需要,1:需要(数值类型); * @return 格式的字符串,如'1,234,567.45' * @type String */ function formatNumber(num,cent,isThousand) { num = num.toString().replace(/\$|\,/g,''); // 检查传入数值为数值类型 if(isNaN(num)) num = "0"; // 获取符号(正/负数) sign = (num == (num = Math.abs(num))); num = Math.floor(num*Math.pow(10,cent)+0.50000000001); // 把指定的小数位先转换成整数.多余的小数位四舍五入 cents = num%Math.pow(10,cent); // 求出小数位数值 num = Math.floor(num/Math.pow(10,cent)).toString(); // 求出整数位数值 cents = cents.toString(); // 把小数位转换成字符串,以便求小数位长度 // 补足小数位到指定的位数 while(cents.length<cent) cents = "0" + cents; if(isThousand) { // 对整数部分进行千分位格式化. for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); } if (cent > 0) return (((sign)?'':'-') + num + '.' + cents); else return (((sign)?'':'-') + num); }
以上这篇js 实现数值的千分位及保存小数方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
js实现千分符和保留几位小数的简单实例
js实现千分符转化 function fmoney(s, n) { n = n > 0 && n <= 20 ? n : 2; s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + ''; var l = s.split('.') [0].split('').reverse(), r = s.split('.') [1]; var t = ''; for (var i = 0; i < l.lengt
-
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
最近做项目需要我们前端对金额进行千分位格式化(也就是说每三位用逗号隔开),代码已经做了修改 之前的版本是本人疏忽 真对不住大家了!现在已经做了修改 如果还有不完善的地方 请大家多多指教! 1. 支持用逗号隔开 0-9位 逗号隔开 JS代码如下: 复制代码 代码如下: /** * JS格式化 * @param number 要格式化的数字 * @param d [0-9]位 逗号隔开 */ function numFormat(nu
-
js添加千分位的实现代码(超简单)
JS 添加千分位,测试可以使用 <script language="javascript" type="text/javascript"> function comdify(n){ var re=/\d{1,3}(?=(\d{3})+$)/g; var n1=n.replace(/^(\d+)((\.\d+)?)$/,function(s,s1,s2){return s1.replace(re,"$&,")+s2;}); re
-
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
在项目里碰到需要把类似'450000'的数字转换为会计记账所用的格式,'450,000.00',分隔千分位和小数点后不够两位数时自动补齐,已下记录几种实现的方式 ps:如果不考虑后面的小数点,最快捷的方法: "12345678".replace(/[0-9]+?(?=(?:([0-9]{3}))+$)/g,function(a){return a+','}); //输出 12 345 678 1.用循环的方式实现 function formatNum(str){ var newStr
-
JS的千分位算法实现思路
复制代码 代码如下: function commafy() { var num = document.getElementById("NumA").value; //1.先去除空格,判断是否空值和非数 num = num + ""; num = num.replace(/[ ]/g, ""); if (num == "") { alert("空值,结束"); return; } if (isNaN(num)
-
JS实现数字格式千分位相互转换方法
实例如下: /** * 数字格式转换成千分位 *@param{Object}num */ function commafy(num){ if((num+"").Trim()==""){ return""; } if(isNaN(num)){ return""; } num = num+""; if(/^.*\..*$/.test(num)){ varpointIndex =num.lastIndexOf(&
-
JavaScript数值千分位格式化的两种简单实现方法
在对数值进行格式化的时候,一个常见的问题是按照千分位格式化,网上对这个问题已经有很多种解决方法了,还可以利用Array.prototype.reduce方法来实现千分位格式化. function formatNumber(num) { if (isNaN(num)) { throw new TypeError("num is not a number"); } var groups = (/([\-\+]?)(\d*)(\.\d+)?/g).exec("" + nu
-
js格式化金额可选是否带千分位以及保留精度
js格式化金额,可选是否带千分位,可选保留精度,也是网上搜到的,但是使用没问题 复制代码 代码如下: /* 将数值四舍五入后格式化. @param num 数值(Number或者String) @param cent 要保留的小数位(Number) @param isThousand 是否需要千分位 0:不需要,1:需要(数值类型); @return 格式的字符串,如'1,234,567.45' @type String */ function formatNumber(num,cent,isT
-
JS 添加千分位与去掉千分位的示例
复制代码 代码如下: function commafyback(num) { var x = num.split(','); return parseFloat(x.join("")); } function commafy(num) { num = num.toFixed(2) +""; var re=/(-?/d+)(/d{3})/ while(re.test(num)){ num=num.replace(re,"$1,$2"); } ret
-
js 实现数值的千分位及保存小数方法(推荐)
实例如下: /** * 将数值四舍五入后格式化. * * @param num 数值(Number或者String) * @param cent 要保留的小数位(Number) * @param isThousand 是否需要千分位 0:不需要,1:需要(数值类型); * @return 格式的字符串,如'1,234,567.45' * @type String */ function formatNumber(num,cent,isThousand) { num = num.toString(
-
JS基于正则实现数字千分位用逗号分隔的方法
本文实例讲述了JS基于正则实现数字千分位用逗号分隔的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js千分位逗号隔开</title> </head> <body> <script > var a = 222122122.6754
-
asp下返回以千分位显示数字格式化的数值
<% '****************************** '函数:comma(str) '参数:str,待处理的数字 '作者:阿里西西 '日期:2007/7/12 '描述:返回以千分位显示数字格式化的数值 '示例:<%=comma("120300")%> '****************************** function comma(str) if not(isnumeric(str)) or str = 0 then result =
-
JS数字千分位格式化实现方法总结
本文实例讲述了JS数字千分位格式化实现方法.分享给大家供大家参考,具体如下: 用js实现如下功能,将给定的数字转化成千分位的格式,如把"10000"转化成"10,000",并考虑到性能方面的因素. 一.首先想到的办法,将数字转换为字符串(toString())再打散成数组(split),如果直接数字转换为数组,就是一整个放进去了,不能单独取到每一位.然后通过循环,逐个倒着把数组中的元素插入到新数组的开头(unshift),第三次或三的倍数次,插入逗号,最后把新数组拼
-
js金额千分位的6种实现方法实例
目录 方法一 数组分割法 方法二 字符截取法 方法三 求模法 方法四 正则表达式(先行断言) 方法五 通过Intl.NumberFormat 方法六 number.toLocaleString方式 总结 方法一 数组分割法 这种方法也是自己最容易想到的一种方式,通过将数组以点分割,然后按照3位一体进行字符的拼接 function format_with_array(number) { // 转为字符串,并按照.拆分 const arr = (number + '').split('.'); //
随机推荐
- php使用strip_tags()去除html标签仍有空白的解决方法
- 为Java程序员准备的10分钟Perl教程
- VBS编程教程 (第5篇)
- iOS的客户端菜单功能仿百度糯米/美团二级菜单
- js操作textarea 常用方法总结
- js中匿名函数的N种写法
- php 中的closure用法详解
- c#操作json示例分享
- Docker 教程之私有仓库详解
- Android异步上传图片到PHP服务器
- 算法系列15天速成 第六天 五大经典查找【下】
- 自己动手手写jQuery插件总结
- 用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
- iscroll实现下拉刷新功能
- Centos 6.4 安装Python 2.7 python-pip的详细步骤
- C#观察者模式(Observer Pattern)实例教程
- PHP实现的登录页面信息提示功能示例
- ASP.NET学习CORE中使用Cookie身份认证方法
- vue、react等单页面项目部署到服务器的方法及vue和react的区别
- 浅析Visual Studio Code断点调试Vue