js格式化数字
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>格式化数字</title>
</head>
<body>
<script type="text/javascript">
/**
方法一 不加千分位(整数部分最大15位,小数为最多4位)
object --文本框对象
n --保留的小数位
*/
function fmoney(object,n){
// ^-?[0-9]+\.?[0-9]*$ 验证浮点数
var num = object.value;
var start = num.indexOf('-');
if(start == 0){
num = num.substring(1,15);
}else{
num = num.substring(0,15);
}
num = parseFloat((num + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
if (isNaN(num) || ((num + "").replace(/\s/g, "")) == "") {
object.value = "";
return;
}
n = n > 0 && n <= 20 ? n : 2;
var l = num.split(".")[0].split("").reverse(),r = num.split(".")[1],t = "";
for(var i = 0; i < l.length; i ++ ){
//t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); //加千分位
t += l[i];
}
if(start == 0){
object.value = "-"+t.split("").reverse().join("") + "." + r;
}else{
object.value = t.split("").reverse().join("") + "." + r;
}
}
/**
方法二 加千分位 (整数部分最大15位)
object --文本框对象
n --保留的小数位
*/
function simpleFormat(object,n){
var num = object.value;
num = num.substring(0,15);
num = parseFloat((num + "").replace(/[^\d\.-]/g, "")).toFixed(n)+"";
if (isNaN(num) || ((num + "").replace(/\s/g, "")) == "") {
object.value = "";
return;
}
object.value = num;
var value = num.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
object.value = value;
}
function rmoney(s){
return parseFloat(s.replace(/[^\d\.-]/g, ""));
}
</script>
<input type="text" id="11" style="width:200px" onblur='fmoney(this,4)'/><input type="button" value="还原" onclick="r11()"><br>
<input type="text" id="33" style="width:200px" onblur='simpleFormat(this,4)'/><input type="button" value="还原" onclick="r33()">
<script type="text/javascript">
function r11(){
var value = document.getElementById("11").value;
alert(rmoney(value));
}
function r33(){
var value = document.getElementById("33").value;
alert(rmoney(value));
}
</script>
</body>
</html>
js格式化数字的更多相关文章
- js 格式化数字,格式化金额:
js 格式化数字,格式化金额: function number_format(number, decimals, dec_point, thousands_sep) { /* * 参数说明: * nu ...
- JS格式化数字金额用逗号隔开保留两位小数
JS格式化金额,正则方式修改. /** * 格式化金额 * @param {[type]} v [要转换的数字] * @param {[type]} len [小数点位数,默认2位] * @param ...
- 自定义编写js格式化数字的函数
在处理网页的时候,有时候会需要显示很长的数字,但是当数字的长度比较长的时候,就很难看一个数字到底是多大.这种情况下,一些网站在处理数字的时候,当数字的长度大于3个时,就用逗号把他们分开,这是一个比较常 ...
- JS格式化数字保留两位小数点示例代码
格式化数字保留两位小数点实现的方法有很多,在接下来的文章中将为大家详细介绍下如何使用js来实现 a = a.toFixed(2);//保留2位但结果为一个String类型 a = parseFloat ...
- js格式化数字和金额
格式化数字,格式化金额: function number_format(number, decimals, dec_point, thousands_sep) { /* * 参数说明: * numbe ...
- js 格式化数字
http://www.jb51.net/article/61585.htm 这篇文章主要介绍了JS实现的4种数字千位符格式化方法分享,本文给出了4种千分位格式化方法并对它们的性能做了比较,需要的朋友可 ...
- js格式化数字,金额按千位逗号分隔,负号用括号
// 返回数字 function removeFormatMoney(s) { s = s.toString().replace("(","-").replac ...
- js格式化数字 金额按千位逗号分隔
// 返回数字 function removeFormatMoney(s) { return parseFloat(s.replace(/[^\d\.-]/g, "")); } / ...
- js 格式化数字(每三位加逗号)
// 方法一 unction toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toString().split(' ...
随机推荐
- php判断手机段登录,以及phpcms手机PC双模板调用
首先一段php代码判断是否为手机浏览: function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP ...
- usermod - linux修改用户帐户信息
usermod - 修改用户帐户信息 modify a user account usermod [options] user_name usermod 命令修改系统帐户文件来反映通过命令行指定的变化 ...
- 《CSS世界》读书笔记(六)
<!-- <CSS世界> 张鑫旭著 --> min-width/max-width和min-height/max-height min-width/max-width出现的场景 ...
- java之高效操作文件
代码: import java.io.IOException; import java.nio.file.FileVisitOption; import java.nio.file.FileVisit ...
- flutter popup
card ? Overlay https://docs.flutter.io/flutter/widgets/Overlay-class.html pending....
- Postman接口调试神器
Postman起初源自googleBrowser的一款插件,现已经有单独软件,当然之前的插件也存在 它主要是用于接口的的调试 接口请求的流程 一.GET请求 GET请求:点击Params,输入参数及 ...
- Docker Doc之一:小白入门
Docker与虚拟机相比有更大的优势,而且微软巨硬全力支持Docker,这个不得不让大家关心一下Docker的3W. Docker是什么 2013 年初,PaaS 提供商 dotCloud 开源了一个 ...
- sony Z5P 刷rec、root的方法
想root需要刷第三方recovery,刷recovery需要先解锁.但如果直接解锁,会丧失相机算法.屏幕超逼真模式,所以不能直接来. 大体步骤就是解完锁后自己做个内核刷进去,欺骗系统让他觉得没解锁. ...
- 浅谈String中的==和对象中引用对象类型的==
@Test public void test02() { StringBuffer sb = new StringBuffer(); sb.append('a'); sb.append(11); Sy ...
- 最接近的三数之和(java实现)
题目: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 例如 ...