js浮點(diǎn)數(shù)精確計(jì)算(加、減、乘、除)
更新時(shí)間:2013年12月26日 09:41:45 作者:
本篇文章主要介紹了js浮點(diǎn)數(shù)精確計(jì)算(加、減、乘、除) 需要的朋友可以過來參考下,希望對(duì)大家有所幫助
復(fù)制代碼 代碼如下:
<SPAN style="FONT-SIZE: 18px">//說明:javascript的加法結(jié)果會(huì)有誤差,在兩個(gè)浮點(diǎn)數(shù)相加的時(shí)候會(huì)比較明顯。這個(gè)函數(shù)返回較為精確的加法結(jié)果。
//調(diào)用:accAdd(arg1,arg2)
//返回值:arg1加上arg2的精確結(jié)果
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
}</SPAN>
復(fù)制代碼 代碼如下:
<SPAN style="FONT-SIZE: 18px">
//說明:javascript的減法結(jié)果會(huì)有誤差,在兩個(gè)浮點(diǎn)數(shù)相加的時(shí)候會(huì)比較明顯。這個(gè)函數(shù)返回較為精確的減法結(jié)果。
//調(diào)用:accSub(arg1,arg2)
//返回值:arg1減上arg2的精確結(jié)果
function accSub(arg1,arg2){
return accAdd(arg1,-arg2);
}</SPAN>
復(fù)制代碼 代碼如下:
<SPAN style="FONT-SIZE: 18px">
//說明:javascript的乘法結(jié)果會(huì)有誤差,在兩個(gè)浮點(diǎn)數(shù)相乘的時(shí)候會(huì)比較明顯。這個(gè)函數(shù)返回較為精確的乘法結(jié)果。
//調(diào)用:accMul(arg1,arg2)
//返回值:arg1乘以arg2的精確結(jié)果
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)
}</SPAN>
復(fù)制代碼 代碼如下:
<SPAN style="FONT-SIZE: 18px">
//說明:javascript的除法結(jié)果會(huì)有誤差,在兩個(gè)浮點(diǎn)數(shù)相除的時(shí)候會(huì)比較明顯。這個(gè)函數(shù)返回較為精確的除法結(jié)果。
//調(diào)用:accDiv(arg1,arg2)
//返回值:arg1除以arg2的精確結(jié)果
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);
}
}</SPAN>
您可能感興趣的文章:
- 微信JS-SDK坐標(biāo)位置如何轉(zhuǎn)換為百度地圖坐標(biāo)
- 基于JavaScript實(shí)現(xiàn)高德地圖和百度地圖提取行政區(qū)邊界經(jīng)緯度坐標(biāo)
- 通過百度地圖獲取公交線路的站點(diǎn)坐標(biāo)的js代碼
- 利用java、js或mysql計(jì)算高德地圖中兩坐標(biāo)之間的距離
- JavaScript獲取對(duì)象在頁面中位置坐標(biāo)的方法
- javascript獲取文檔坐標(biāo)和視口坐標(biāo)
- 根據(jù)經(jīng)緯度計(jì)算地球上兩點(diǎn)之間的距離js實(shí)現(xiàn)代碼
- 精通Javascript系列之?dāng)?shù)值計(jì)算
- js中火星坐標(biāo)、百度坐標(biāo)、WGS84坐標(biāo)轉(zhuǎn)換實(shí)現(xiàn)方法示例
相關(guān)文章
JavaScript仿小米官網(wǎng)注冊(cè)登錄功能的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了如何通過JavaScript實(shí)現(xiàn)仿小米官網(wǎng)登錄注冊(cè)完整功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
JS中超越現(xiàn)實(shí)的匿名函數(shù)用法實(shí)例分析
這篇文章主要介紹了JS中超越現(xiàn)實(shí)的匿名函數(shù)用法,結(jié)合實(shí)例形式分析了javascript匿名函數(shù)定義、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06
JS如何判斷移動(dòng)端訪問設(shè)備并解析對(duì)應(yīng)CSS
本文為大家詳細(xì)介紹下JS如何判斷移動(dòng)端訪問設(shè)備并解析對(duì)應(yīng)CSS,感興趣的朋友可以參考下2013-11-11
JavaScript結(jié)合Bootstrap仿微信后臺(tái)多圖文界面管理
這篇文章主要為大家詳細(xì)介紹了js結(jié)合Bootstrap仿微信后臺(tái)多圖文界面管理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07
淺析Virtual DOM的概念與其在現(xiàn)代前端框架中的實(shí)踐
這篇文章將深入探討Virtual DOM(虛擬DOM)的概念,分析其對(duì)前端開發(fā)的革新影響,并以此展示前端技術(shù)的深度和魅力,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
微信小程序?qū)崙?zhàn)之頂部導(dǎo)航欄(選項(xiàng)卡)(1)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崙?zhàn)之頂部導(dǎo)航欄的相關(guān)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04

