日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js小数运算出现多为小数问题_js 数字加减乘除精度问题,解决小数点后多位小数...

發布時間:2025/3/15 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js小数运算出现多为小数问题_js 数字加减乘除精度问题,解决小数点后多位小数... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在javascript中,當你使用小數進行加減乘除運算時,你會發現,所得到的結果有時后面帶有長長的一段小數,使運算變得復雜,并且影響計算結果。上網查詢了一下原因,大致如下:在javascript中,帶小數的數據運算時總會出現好多位小數.這是因為在javascript中浮點數的計算是以2進制計算的。于是在網上找了一下解決方法,在此做一下總結,以便以后使用,同時,希望對有需要的朋友有所幫助。

解決方法思路:將小數化成整數后再作運算。具體代碼如下:

/**

* 加法運算,避免數據相加小數點后產生多位數和計算精度損失。

*

* @param num1加數1 | num2加數2

*/

function numAdd(num1, num2) {

var baseNum, baseNum1, baseNum2;

try {

baseNum1 = num1.toString().split(".")[1].length;

} catch (e) {

baseNum1 = 0;

}

try {

baseNum2 = num2.toString().split(".")[1].length;

} catch (e) {

baseNum2 = 0;

}

baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));

return (num1 * baseNum + num2 * baseNum) / baseNum;

};

/**

* 加法運算,避免數據相減小數點后產生多位數和計算精度損失。

*

* @param num1被減數 | num2減數

*/

function numSub(num1, num2) {

var baseNum, baseNum1, baseNum2;

var precision;// 精度

try {

baseNum1 = num1.toString().split(".")[1].length;

} catch (e) {

baseNum1 = 0;

}

try {

baseNum2 = num2.toString().split(".")[1].length;

} catch (e) {

baseNum2 = 0;

}

baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));

precision = (baseNum1 >= baseNum2) ? baseNum1 : baseNum2;

return ((num1 * baseNum - num2 * baseNum) / baseNum).toFixed(precision);

};

/**

* 乘法運算,避免數據相乘小數點后產生多位數和計算精度損失。

*

* @param num1被乘數 | num2乘數

*/

function numMulti(num1, num2) {

var baseNum = 0;

try {

baseNum += num1.toString().split(".")[1].length;

} catch (e) {

}

try {

baseNum += num2.toString().split(".")[1].length;

} catch (e) {

}

return Number(num1.toString().replace(".", "")) * Number(num2.toString().replace(".", "")) / Math.pow(10, baseNum);

};

/**

* 除法運算,避免數據相除小數點后產生多位數和計算精度損失。

*

* @param num1被除數 | num2除數

*/

function numDiv(num1, num2) {

var baseNum1 = 0, baseNum2 = 0;

var baseNum3, baseNum4;

try {

baseNum1 = num1.toString().split(".")[1].length;

} catch (e) {

baseNum1 = 0;

}

try {

baseNum2 = num2.toString().split(".")[1].length;

} catch (e) {

baseNum2 = 0;

}

with (Math) {

baseNum3 = Number(num1.toString().replace(".", ""));

baseNum4 = Number(num2.toString().replace(".", ""));

return (baseNum3 / baseNum4) * pow(10, baseNum2 - baseNum1);

}

};

總結

以上是生活随笔為你收集整理的js小数运算出现多为小数问题_js 数字加减乘除精度问题,解决小数点后多位小数...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男男啪啪无遮挡 | 精品黄色 | 摸丰满大乳奶水www免费 | 最近最新mv字幕观看 | 亚洲第一视频网 | 国产精品久久久久久久久久久久久久久久久 | 丁香六月激情综合 | 麻豆亚洲av成人无码久久精品 | 久久精品一区二区在线观看 | 超碰97国产精品人人cao | 欧美成人一区二区三区片免费 | 污污小说在线观看 | 一区二区三区在线观看av | 韩国电影大尺度在线观看 | 亚洲一区二区三区婷婷 | 日韩欧美久久 | av资源中文在线 | 欧美性猛交性大交 | 中国黄色一级视频 | 日韩欧美在线视频免费观看 | 亚洲狼人天堂 | 男人日女人免费视频 | 致单身男女免费观看完整版 | 亚洲女人视频 | 懂色av| 狠狠操狠狠操狠狠操 | 黄色大片网 | 国产精品99| 高h奶汁双性受1v1 | 一级片播放 | 久久密av | 日本v视频 | 色偷av| 欧美精品一级 | 石原莉奈在线播放 | 91精品国产99久久久久久红楼 | 欧美日韩在线视频一区 | 欧美性猛交xxxx免费看久久久 | 操操综合 | 日韩欧美一区二区一幕 | 国产福利网| 天堂成人 | 黑人操亚洲女人 | 青青免费在线视频 | 亚洲天堂8 | 欧美xx孕妇 | 国产剧情av麻豆香蕉精品 | a国产免费 | 欧美激情综合色综合啪啪五月 | 亚洲69av| 狠狠澡 | 天天草综合 | 手机在线看永久av片免费 | 四川丰满妇女毛片四川话 | 欧美一级网 | 玖玖免费| a级网站在线观看 | 理想之城连续剧40集免费播放 | 在线观看国产小视频 | 色综合久久精品亚洲国产 | 国产探花精品在线 | 国产精品久久毛片av大全日韩 | 乳女教师の诱惑julia | 一级做a爰片久久毛片 | 99热99这里只有精品 | www.在线| 一区二区三区免费在线 | 久久久久香蕉视频 | 福利影院在线观看 | 性开放的欧美大片 | 黄色a毛片 | 综合九九 | 最新黄色网页 | 91蝌蚪在线观看 | 亚洲色网址 | 国产黄频在线观看 | 男女做受视频 | 欧美区视频 | 重口味av | 欧洲性生活视频 | 97人妻一区二区精品免费视频 | 日韩人妻精品无码一区二区三区 | 99精品欧美一区二区三区综合在线 | 国产一区精品在线观看 | 成人毛片视频免费看 | 在线a天堂 | 黄色图片小说 | 五月婷网站 | 性视屏| 免费一级淫片aaa片毛片a级 | 日日干日日摸 | 国产日产精品一区二区三区四区 | 欧美成人免费大片 | 毛片免费一区二区三区 | 国产一级自拍视频 | 欧美特级黄色 | 草草久久久无码国产专区 | 国产又黄又嫩又滑又白 | 一个人在线观看免费视频www |