<script>
$(function(){
//data-xxx 属性:用于存储页面的自定义数据
$("[data-keyup='integer']").keyup(function(){
//输入非数字,则替换为'',
//输入数字,则在每4位之后添加一个空格分隔
this.value = this.value.replace(/[^\d]/g, '').replace(/(\d{4})(?=\d)/g, "$1 ");
});
});
</script>
<html lang="zh-cn">
<head>
<title>js千位符 | js 千位分隔符 | js 金额格式化</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
// 将金额类型转为数字类型
function toNum(str) {
return str.replace(/\,|\¥/g, "");
}
// 保留两位小数(四舍五入)
function toPrice(num) {
num = parseFloat(toNum(num)).toFixed(2).toString().split(".");
num[0] = num[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)','ig'),"$1,");
return "¥" + num.join(".");
}
// 保留两位小数(不四舍五入)
function toPrice1(num) {
num = parseFloat(toNum(num).replace(/(\.\d{2})\d+$/,"$1")).toFixed(2).toString().split(".");
num[0] = num[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)','ig'),"$1,");
return "¥" + num.join(".");;
}
// 不处理小数部分
function toPrice2(num) {
var source = toNum(num).split(".");
source[0] = source[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)','ig'),"$1,");
return "¥" + source.join(".");
}
</script>
</head>
<body>
<h1>js千位符 | js 千位分隔符 | js 金额格式化</h1>
<div>
保留两位小数(四舍五入): <input onchange="this.value=toPrice(this.value)"><br><br>
保留两位小数(不四舍五入): <input onchange="this.value=toPrice1(this.value)"><br><br><br>
不处理小数部分: <input onchange="this.value=toPrice2(this.value)">
</div>
</body>
</html>
<%
String pattern="###,##0.000";
DecimalFormat df = new DecimalFormat(pattern);
out.print(nf.format(88888.888));
%>
jstl 语法如下
<%@ taglib uri=”http://java.sun.com/jsp/jstl/fmt” prefix=”fmt” %>
pattern含义
0
一位数字,这一位缺失显示为0。用来补零
#
一位数字, 这一位缺失就不显示
.
小数点,不用多说了吧
,
千位分隔符
E
科学计数法
%
百分比
给你个js函数,你在input标签变化是调用一下
function formatNum(num){
if(!/^(\+|-)?\d+(\.\d+)?$/.test(num)){
return num;
}
var re = new RegExp().compile("(\\d)(\\d{3})(,|\\.|$)");
num += "";
while(re.test(num))
num = num.replace(re, "$1,$2$3")
return num;
}