js;
//輸入數字,自動轉換成帶逗號的字符串。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<script language="javascript">
function tran(id)
{
var v, j, sj, rv = "";
v = id.value.replace(/,/g,"").split(".");
j = v[0].length % 3;
sj = v[0].substr(j).toString();
for (var i = 0; i < sj.length; i++)
{
rv = (i % 3 == 0) ? rv + "," + sj.substr(i, 1): rv + sj.substr(i, 1);
}
var rvalue = (v[1] == undefined) ? v[0].substr(0, j) + rv: v[0].substr(0, j) + rv + "." + v[1];
if (rvalue.charCodeAt(0) == 44)
{
rvalue = rvalue.substr(1);
}
id.value = rvalue;
}
function tran2(id)
{
var v;
v = id.value.replace(/,/g,"");
alert(v);
}
</script>
<style type="text/css">
<!--
body,td,th,input {
font-size: 12px;
}
-->
</style></head>
<body>
<input name="tt" type="text" id="tt" size="80" οnkeyup="tran(this)" />
<br/>
<input name="tt" type="text" id="tt2" size="80" οnkeyup="tran2(this)" />
</body>
</html>
帶逗號的數據,轉成float然後相加減
var a="2,222,222,222,222.55";
var b="2,222,222,222,222.22";
var aa=parseInt((parseFloat(a.replace(/,/g,""))*100).toFixed(0));
var bb=parseInt((parseFloat(b.replace(/,/g,""))*100).toFixed(0));
var c=0;
c=aa+bb;
d=c/100;
alert(aa+"+"+bb+"="+c+"/100="+d);
java;
Double a=999999999999999d;
System.out.println(String.valueOf(a));
String b=a+"";
String c=Float.toString(a);
//System.out.println(b);
//System.out.println(c);
//將數據轉換成帶逗號的數據。
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
String aa=nf.format(a);
System.out.println(aa);
//將帶逗號的數據轉換成double類型
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator('.');
dfs.setGroupingSeparator(',');
dfs.setMonetaryDecimalSeparator('.');
DecimalFormat df = new DecimalFormat("###,###.##",dfs);
String bb = "3,500,000.00";
Number num = df.parse(bb);
System.out.println("帶逗號的數字 處理後的結果爲:"+num.doubleValue());
還有個重要的知識就是正則表達式的驗證
精簡版:/d{1,3}(,/d{3})*([.]/d{1,2})?
細化版:([1-9]+(/.{1}/d+|/.{0})/,{0,1})+
複雜版 :([1-9]/d{0,2}(?:/./d{0,2}[1-9])?,?)+
加長版:(?:(?:[1-9]/d{0,2}|0)(?:/./d{1,3})?,){2}(?:(?:[1-9]/d{0,2}|0)(?:/./d{1,3})?)
不過這三個 都有很多bug 。
如果你有完善的驗證 給告訴一下吧。