亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

淺析js中的浮點型運算問題

2019-11-20 21:18:45
字體:
來源:轉載
供稿:網友

js中浮點型是如何運算的呢?

例如:var a=0.69;

我想得到6.9 直接這樣寫 var c=a*10;

alert(c);   得到結果是:6.8999999999999995

到網上一搜,有網友說這是一個JS浮點數運算Bug,找了解決方法:

方法一:有js自定義函數

復制代碼 代碼如下:

<script>

//加法函數,用來得到精確的加法結果
//說明:javascript的加法結果會有誤差,在兩個浮點數相加的時候會比較明顯。這個函數返回較為精確的加法結果。
//調用:accAdd(arg1,arg2)
//返回值:arg1加上arg2的精確結果
function accAdd(arg1,arg2){
var r1,r2,m;
try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
return (arg1*m+arg2*m)/m
}
//給Number類型增加一個add方法,調用起來更加方便。
Number.prototype.add = function (arg){
return accAdd(arg,this);
}

//加法函數,用來得到精確的加法結果
//說明:javascript的加法結果會有誤差,在兩個浮點數相加的時候會比較明顯。這個函數返回較為精確的加法結果。
//調用:accAdd(arg1,arg2)
//返回值:arg1加上arg2的精確結果
function accSub(arg1,arg2){
    var r1,r2,m,n;
    try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
    try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
    m=Math.pow(10,Math.max(r1,r2));
    //last modify by deeka
    //動態控制精度長度
    n=(r1>=r2)?r1:r2;
    return ((arg1*m-arg2*m)/m).toFixed(n);
}

//除法函數,用來得到精確的除法結果
//說明:javascript的除法結果會有誤差,在兩個浮點數相除的時候會比較明顯。這個函數返回較為精確的除法結果。
//調用:accDiv(arg1,arg2)
//返回值:arg1除以arg2的精確結果
function accDiv(arg1,arg2){
var t1=0,t2=0,r1,r2;
try{t1=arg1.toString().split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
with(Math){
r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
return (r1/r2)*pow(10,t2-t1);
}
}
//給Number類型增加一個div方法,調用起來更加方便。
Number.prototype.div = function (arg){
return accDiv(this, arg);
}

//乘法函數,用來得到精確的乘法結果
//說明:javascript的乘法結果會有誤差,在兩個浮點數相乘的時候會比較明顯。這個函數返回較為精確的乘法結果。
//調用:accMul(arg1,arg2)
//返回值:arg1乘以arg2的精確結果
function accMul(arg1,arg2)
{
var m=0,s1=arg1.toString(),s2=arg2.toString();
try{m+=s1.split(".")[1].length}catch(e){}
try{m+=s2.split(".")[1].length}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
//給Number類型增加一個mul方法,調用起來更加方便。
Number.prototype.mul = function (arg){
return accMul(arg, this);
}

var a=0.69;
var b=10;
alert(a*b);//6.8999999999999995
alert((a*100)/10);
</script>


直接調用函數就可以。

方法二:如果在知道小數位個數的前提下,可以考慮通過將浮點數放大倍數到整型(最后再除以相應倍數),再進行運算操作,這樣就能得到正確的結果了

alert(11*22.9);//得到251.89999999999998
alert(11*(22.9*10)/10);//得到251.9

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美极品在线观看| 一本色道久久88精品综合| 亚洲香蕉av在线一区二区三区| 精品欧美aⅴ在线网站| 亚洲精品成a人在线观看| 92版电视剧仙鹤神针在线观看| 日韩中文有码在线视频| 亚洲精品电影网在线观看| 91中文字幕在线| 九九热精品视频国产| 米奇精品一区二区三区在线观看| 亚洲级视频在线观看免费1级| 欧美日韩成人在线播放| 精品无码久久久久久国产| 亚洲欧美日韩网| 欧美极品第一页| 日韩综合中文字幕| 国产精品国产三级国产专播精品人| 国产欧亚日韩视频| 91国产精品视频在线| 国产精品v片在线观看不卡| 欧美亚洲日本网站| 国产精品久久久久高潮| 亚洲精品电影久久久| 欧美日韩亚洲天堂| 亚洲自拍欧美另类| 国产精品久久久久久久天堂| 欧美二区乱c黑人| 国产精品久久久久9999| 日本韩国欧美精品大片卡二| 亚洲精品成人久久久| 久久69精品久久久久久国产越南| 成人激情av在线| 欧美巨大黑人极品精男| 国产精品草莓在线免费观看| 亚洲视频在线看| 少妇精69xxtheporn| 琪琪亚洲精品午夜在线| 自拍视频国产精品| 日韩在线www| 欧美一级片久久久久久久| 两个人的视频www国产精品| www日韩中文字幕在线看| 亚洲一区二区福利| 中国日韩欧美久久久久久久久| 国产精品爱久久久久久久| 国产成人在线一区二区| 亚洲japanese制服美女| 一区二区欧美激情| 成人免费看黄网站| 国产日韩精品视频| 欧美黑人一区二区三区| 1769国内精品视频在线播放| 日韩亚洲欧美中文在线| 欧美重口另类videos人妖| 91高清视频在线免费观看| 亚洲天堂男人天堂| 亚洲欧美国产精品| 自拍视频国产精品| 欧美日韩国产精品一区二区不卡中文| 亚洲自拍中文字幕| 欧美大尺度在线观看| 久久久精品2019中文字幕神马| 色中色综合影院手机版在线观看| 久久精品国产免费观看| 日韩精品欧美国产精品忘忧草| 国产综合色香蕉精品| 国内精品模特av私拍在线观看| 另类美女黄大片| 久久精品电影一区二区| 日韩欧美亚洲成人| 亚洲美女av在线播放| 欧美大学生性色视频| 久久理论片午夜琪琪电影网| 亚洲欧美综合另类中字| 国产视频精品免费播放| 国产精品jvid在线观看蜜臀| 欧美激情综合色| 91中文字幕一区| 亚洲精品一区二三区不卡| 色综合久综合久久综合久鬼88| 在线精品播放av| 亚洲国产精品大全| 一区三区二区视频| 国产精品福利观看| 国产精品久久99久久| 欧美床上激情在线观看| 欧美黄网免费在线观看| 亚洲成人激情视频| 日韩黄在线观看| 久久影院中文字幕| 成人性教育视频在线观看| 色中色综合影院手机版在线观看| 欧美亚洲国产日本| 精品欧美aⅴ在线网站| 少妇高潮 亚洲精品| 中文字幕日韩在线视频| 日韩一级黄色av| 欧美亚洲国产成人精品| 日韩成人在线免费观看| 久久久久久网站| 日韩av网站电影| 欧美日韩国产一区在线| 精品五月天久久| 成人激情在线播放| 日韩欧美亚洲一二三区| 国产精品一区二区女厕厕| 国产精品第一视频| 全色精品综合影院| 综合国产在线观看| 欧美高清理论片| 亚洲欧洲日本专区| 日韩电视剧免费观看网站| 国产欧美在线观看| 日韩美女视频中文字幕| 国产精品video| 日韩a**中文字幕| 亚洲国产精彩中文乱码av在线播放| 成人春色激情网| 国产成人亚洲综合| 亚洲一区二区三区视频| 亚洲精品自拍视频| 亚洲加勒比久久88色综合| 精品国产户外野外| 国产精品免费一区豆花| 久久国产精品首页| 久久伊人色综合| 91免费观看网站| 亚洲精品久久久久久久久久久久久| 亚洲国产精品久久91精品| 91丨九色丨国产在线| 色综合久久天天综线观看| 国产精品激情av电影在线观看| 欧美黑人一区二区三区| 亚洲成年人在线播放| 国产精品大片wwwwww| 国产国产精品人在线视| 2019国产精品自在线拍国产不卡| 欧美电影免费观看| 在线视频一区二区| 久久69精品久久久久久国产越南| 久久成人在线视频| 青青在线视频一区二区三区| 深夜成人在线观看| 亚洲第一精品福利| 欧美国产日韩中文字幕在线| 狠狠综合久久av一区二区小说| 成人激情av在线| www.日韩.com| 国产精品久久99久久| 91在线精品视频| 国产精品情侣自拍| 久久精品国产亚洲| 国产免费一区二区三区香蕉精| 欧美午夜精品久久久久久久| 91欧美精品午夜性色福利在线| 日韩经典中文字幕在线观看| 国产免费一区二区三区在线能观看| 日韩在线观看免费高清完整版| 少妇久久久久久| 精品亚洲夜色av98在线观看| 日韩高清不卡av| 国外成人在线播放| 国产日韩专区在线|