小数点位数问题 var s = 66.666666666666.toFixed("2");alert(s); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 alert(Math.round(66.666666666666*100)/100);同理,保留3位小数alert(Math.round(66.666666666666*1000)/1000); JScript 语言参考 --------------------------------------------------------------------------------toFixed 方法返回一个字符串,代表一个以定点表示法表示的数字。numObj.toFixed([fractionDigits])参数numObj必选项。一个 Number 对象。fractionDigits可选项。小数点后的数字位数。其值必须在 0 – 20 之间,包括 0 和 20。说明toFixed 方法返回一个以定点表示法表示的数字的字符串形式。该字符串中小数点之前有一位有效数字,而且其后必须包含 fractionDigits 数字。如果没有 fractionDigits 参数,或者该参数为 undefined,toFixed 方法假定该值为 0。要求版本 5.5请参阅toExponential 方法 | toPrecision 方法应用于: Number 对象--------------------------------------------------------------------------------© 2000 Microsoft Corporation 版权所有。保留所有权利。使用规定。 //不同版本增加方法,如果版本底,没有toFixed方法则增加数字的toFixed方法try { (1).toFixed(1);}catch(e) { Number.prototype.toFixed = function(dot) { with(Math){ var m=pow(10,Number(dot)) var s = (round(this*m)/m).toString(); } if(s.indexOf('.') < 0) s += "."; s += "00000000000000000000000000"; return s.substr(0,s.indexOf('.')+dot+1); }} 对于小数 a,如果要保留2位小数:int(a*100+0.5)/100 版本要求5.5,也就是说如果是5.0以下的版本无法使用,会出现错误,所以必须测试是否可以,如果number没有toFixed方法,需要添加方法,然后使用//不同版本增加方法,如果版本底,没有toFixed方法则增加数字的toFixed方法try { (1).toFixed(1);}catch(e) { Number.prototype.toFixed = function(dot) { with(Math){ var m=pow(10,Number(dot)) var s = (round(this*m)/m).toString(); } if(s.indexOf('.') < 0) s += "."; s += "00000000000000000000000000"; return s.substr(0,s.indexOf('.')+dot+1); }}var sss= 66.666666666666.toFixed("2");alert(sss); function Round(a_Num , a_Bit) { return( Math.round(a_Num * Math.pow (10 , a_Bit)) / Math.pow(10 , a_Bit)) ; }var sss= 66.666666666666alert(Round(sss,4)); 我是想让tgl的结果是两位小数应该怎么写呀我试了上面的方法怎么不行呀?tgl=(tgrs/cjrs)*100 JS倒计时问题,添加什么代码才能使秒数不跳转到0,直接跳转到下一分钟的59秒? 求梅花雪的树完整版 如何使用*{padding:0px;margin:0px;}又保留table的cellpadding 如何判断内涵数执行完毕? 求一验证日期格式的正则表达式或函数!精确到秒。 javascript中替换字符串用哪个函数? 请问那里有阴阳历转换的js源码吗? 用javascript画一个柱状图; 比较难的问题? chrome下面使用img.src图片不变化 帮我看看这个语句是什么意思啊 关于session的问题
同理,保留3位小数
alert(Math.round(66.666666666666*1000)/1000);
返回一个字符串,代表一个以定点表示法表示的数字。numObj.toFixed([fractionDigits])参数
numObj必选项。一个 Number 对象。fractionDigits可选项。小数点后的数字位数。其值必须在 0 – 20 之间,包括 0 和 20。说明
toFixed 方法返回一个以定点表示法表示的数字的字符串形式。该字符串中小数点之前有一位有效数字,而且其后必须包含 fractionDigits 数字。如果没有 fractionDigits 参数,或者该参数为 undefined,toFixed 方法假定该值为 0。要求
版本 5.5请参阅
toExponential 方法 | toPrecision 方法应用于: Number 对象
--------------------------------------------------------------------------------
© 2000 Microsoft Corporation 版权所有。保留所有权利。使用规定。
try {
(1).toFixed(1);
}
catch(e) {
Number.prototype.toFixed = function(dot) {
with(Math){
var m=pow(10,Number(dot))
var s = (round(this*m)/m).toString();
}
if(s.indexOf('.') < 0)
s += ".";
s += "00000000000000000000000000";
return s.substr(0,s.indexOf('.')+dot+1);
}
}
int(a*100+0.5)/100
//不同版本增加方法,如果版本底,没有toFixed方法则增加数字的toFixed方法
try {
(1).toFixed(1);
}
catch(e) {
Number.prototype.toFixed = function(dot) {
with(Math){
var m=pow(10,Number(dot))
var s = (round(this*m)/m).toString();
}
if(s.indexOf('.') < 0)
s += ".";
s += "00000000000000000000000000";
return s.substr(0,s.indexOf('.')+dot+1);
}
}var sss= 66.666666666666.toFixed("2");
alert(sss);
return( Math.round(a_Num * Math.pow (10 , a_Bit)) / Math.pow(10 , a_Bit)) ;
}
var sss= 66.666666666666
alert(Round(sss,4));
应该怎么写呀
我试了上面的方法怎么不行呀?
tgl=(tgrs/cjrs)*100