保留小数点的方法(同时可以四舍五入)
2016-01-05 10:39 历久弥新 阅读(232) 评论(0) 收藏 举报function ToFixed(value, digits) {
var str = value.toString();
var index = str.indexOf(".");
var strInt = str;
var strDec = "";
if (index > 0) {
strInt = str.substr(0, index);
strDec = str.substr(index + 1, digits);
}
while (strDec.length < digits) {
strDec += "0";
}
var integer = strInt + strDec;
if (index > 0) {
var nums = new Array();
var dec = str.substr(index + 1 + digits);//取舍小数部分
for (var i = 0; i < dec.length; i++) {
nums.push(dec.charAt(i));//拆分每个数字
}
var n1;
var n2;
while (nums.length > 1) {
n1 = nums.pop();
if (n1 > 4) {
n2 = nums[nums.length - 1] + 1;
nums[nums.length - 1] = n2;
}
}
if (nums.length && nums[nums.length - 1] > 4)
integer++;
}
str = integer.toString();
if (digits == 0)
return str;
while (str.length < strInt.length + strDec.length) {
str = "0" + str;
}
return str.substr(0, str.length - digits) + "." + str.substr(str.length - digits);
}
调用如 ToFixed(value,2) 即保留两位小数
浙公网安备 33010602011771号