牛逼的方法:
java 语法 如下
<%
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" %>
<fmt:formatNumber value="123456.7" pattern="#,#00.000"/>
pattern含义
0
一位数字,这一位缺失显示为0。用来补零
#
一位数字, 这一位缺失就不显示
.
小数点,不用多说了吧
,
千位分隔符
E
科学计数法
%
百分比
<script>
function cc(s){if(/[^0-9\.]/.test(s)) return "invalid value";
s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return "¥" + s.replace(/^\./,"0.")
}
</script>
<input οnchange="this.value=cc(this.value)">
//一个迂回函式
function formatNumber(str) {
if(str.length <= 3){
return str;
} else {
return formatNumber(str.substr(0,str.length-3))+','+str.substr(str.length-3);
}
}
//測試函式(注意數字要以字串輸入)
var money = formatNumber('1234567890');
alert(money);
//輸出結果為:1,234,567,890