/*** the function for decimal's add, subtract, multiplication, division. not get the float result.
* and add the function to number's prototype, so you can use it as:
* var result = dcmadd(0.2,0.1); //or var result = (0.2).add(0.1);
* */
function floatadd(arg1, arg2) catch (e)
try catch (e)
n = math.max(r1, r2); // (不加這個還是有問題,如68.04+16.17,因為在下面的arg1*m時會出現浮點數,
m = math.pow(10, n);
// 當然也可以用dcmmul(arg1,m)來解決,但考慮到效率還是加這個吧。)
return ((arg1 * m + arg2 * m) / m).tofixed(n);
}function floatsbt(arg1, arg2) catch (e)
try catch (e)
n = math.max(r1, r2);// (不加這個還是有問題,如68.04-16.17)
m = math.pow(10, n);
return ((arg1 * m - arg2 * m) / m).tofixed(n);
}function floatmul(arg1, arg2) catch (e)
try catch (e)
return number(s1.replace(".", "")) * number(s2.replace(".", "")) / math.pow(10, m);
}function floatdiv(arg1, arg2) catch (e)
try catch (e)
r1 = number(arg1.tostring().replace(".", ""));
r2 = number(arg2.tostring().replace(".", ""));
return (r1 / r2) * math.pow(10, t2 - t1);
};number.prototype.succ = function() ,
number.prototype.add = function(arg) ,
number.prototype.sub = function(arg) ,
number.prototype.mul = function(arg) ,
number.prototype.div = function(arg)
number.prototype.succ = function() ,
string.prototype.add = function(arg) ,
string.prototype.sub = function(arg) ,
string.prototype.mul = function(arg) ,
string.prototype.div = function(arg)
JavaScript數值轉換
有三個函式可以將引數轉化為數值 number parseint 和parsefloat number 是轉型函式,可以運用於任何型別 另外兩個函式則是專門用於將字串轉化為數值。number 1 字串只包含數字的情況 可帶正負號 將其轉化為十進位制數值,前面的0將被忽略。2 如果是有效浮點格式,則將轉...
JavaScript 數值函式
函式名 函式意義 math.abs 1 絕對值math.ceil 3.2 向上取整 math.floor 3.2 向下取整 math.max 2,5,1 最大值math.min 2,5,1 最小值math.pow 3,2 指數運算 math.sqrt 9 平方根math.log 10 自然對數 ma...
javascript 精確加減乘除
最近乙個專案中要使用 js 實現自動計算的功能,本以為只是實現簡單的加 減 乘 除就可以了,於是三下五除二做完了。正當我竊喜 進行一些浮點數運算時,計算結果都是讓我大跌眼鏡啊,那個值讓我哭笑不得,一長串的值,太牛了。我那個納悶啊!不過還好牛人多,給了我一解決方案,嘿嘿。問題基本上解決了,為了表示感覺...