常用加減乘除等方法彙總
直接上**,邏輯簡單,**如下:
加減乘除位移方法彙總
* 向右移動小數點 ,相當於乘10的_pointcount次冪
* @param _number 操作的數字
* @param _pointcount 向右移動的位數
* @returns 移動以後的數字(number型別)
*/var moveright = function (_number, _pointcount)
var flag = 1;
if (_number < 0)
var numstr = _number.tostring();
var strarr = numstr.split(".");
var rightstr = strarr.length > 1 ? strarr[1] : "";
//在不足移動的位數後補0;
if (rightstr.length < _pointcount)
rightstr = rightstr + addzero.join("");
}return number(strarr[0] + rightstr.substring(0, _pointcount) + "." + rightstr.substr(_pointcount)) * flag;
};/**
* 向左移動小數點,相當於_number除以10的_pointcount次冪
* @param _number 操作的數字
* @param _pointcount 向左移動的位數
* @returns 移動以後的數字(number型別)
*/var moveleft = function (_number, _pointcount)
var flag = 1;
if (_number < 0)
//number轉換為string ,方便後續操作。
var numstr = _number.tostring();
//按照小數點分隔字串,
var strarr = numstr.split(".");
var num = 0, zeroarr = ;
//生成移動位數+1的0 ,補到分隔後的第乙個字串中,相容0.***的情況。開頭多餘的零會在呼叫number方法時去掉。
while (num < _pointcount + 1)
var leftstr = zeroarr.join("") + strarr[0];
var leftarr = leftstr.split("")
//插入移動後的小數點。
leftarr.splice((leftstr.length - _pointcount), 0, '.');
var result = leftarr.join("");
//拼接原始值小數點後的數字
if (strarr.length > 1)
return number(result) * flag;
};/**
* 加法
* @param _num1
* @param _num2
* @param precision 精度
* @returns
*/var add = function (_num1, _num2, precision)
return moveleft(moveright(_num1, precision) + moveright(_num2, precision), precision)
};/**
* 減法
* @param minuend
* @param reduction
* @returns
*/var reduce = function (minuend, reduction, precision)
return moveleft(moveright(minuend, precision) - moveright(reduction, precision), precision)
};/**
* 乘法
* @param _num1
* @param _num2
* @returns
*/var multiplication = function (_num1, _num2, precision)
return moveleft(moveright(_num1, precision) * moveright(_num2, precision), precision * 2)
};/**
* 除法
* @param _num1 被除數
* @param _num2 除數
* @param precision 精度 整形,幾位小數
* @returns
*/var division = function (_num1, _num2, precision)
return moveright(_num1, precision) / moveright(_num2, precision);
};console.log(moveright(0.9999999,3));
console.log(moveleft(88888888888,2));
console.log(add(1.01,7.079,8));
console.log(reduce(8.01,1,2));
console.log(multiplication(1,8.88,2));
console.log(division(16,2,2))
js加減乘除
除法函式,用來得到精確的乘法結 function accdiv arg1,arg2 catch e trycatch e with math 乘法函式,用來得到精確的乘法結果 function accmul arg1,arg2 catch e trycatch e return number s1....
中加減乘除 晉朝成語 加減乘除
讀 音 ji ji n ch ng ch 釋 義 算術的四則運算,借指事物的消長變化。出 自 明 王九思 端正好 次韻贈邵晉夫歸隱 端的是太平人物,誰想道命兒中加減乘除。例句1.他們的第一台機器可以加減乘除。2.通過教她不同的錢的面額幫你的孩子學會加減乘除。3.阿拉巴馬州和密西西比州有差不多一半的孩...
JS 實現精確加減乘除
最近乙個專案中要使用 js 實現自動計算的功能,本以為只是實現簡單的加 減 乘 除就可以了,於是三下五除二做完了。正當我竊喜 進行一些浮點數運算時,計算結果都是讓我大跌眼鏡啊,那個值讓我哭笑不得,一長串的值,太牛了。我那個納悶啊!不過還好牛人多,給了我一解決方案,嘿嘿。問題基本上解決了,為了表示感覺...