Khi lập trình yêu cầu có nhập số liệu cần tính toán, đôi khi bạn cần FormatNumber để phân cách hàng nghìn trong khi nhập liệu. Lúc đó bạn nên dùng hàm trong javascriptBài viết này sẽ giới thiệu hàm để FormatNumber theo yêu cầu.Bạn cần thực hiện 2 hàm trên trong javascript1. Hàm FormatNumber khi đang nhập dữ liệu Xử dụng hàm này với thuộc tính onkeyup="FormatNumber(this);"function FormatNumber(obj) {
var strvalue;
if (eval(obj))
strvalue = eval(obj).value;
else
strvalue = obj;
var num;
num = strvalue.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
num = Math.floor(num/100).toString();
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));
//return (((sign)?'':'-') + num);
eval(obj).value = (((sign)?'':'-') + num);
}
2. Hàm FormatNumber khi đã nhập xong cần FormatNumber dữ liệu vừa nhập function formatCurrency(num)
{
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
num = Math.floor(num/100).toString();
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));
return (((sign)?'':'-') + num);
}
Để hiểu hơn về cách áp dụng các hàm trên bạn tham khảo bài viết sau: Lập trình với Form nhập liệu kiểu hóa đơn bán hàng