//加法函式
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方法,,使用時直接用 .add 即可完成計算。
number.prototype.add = function (arg) {
return accadd(arg, this);
//減法函式
function subtr(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);
//給number型別增加乙個add方法,,使用時直接用 .sub 即可完成計算。
number.prototype.sub = function (arg) {
return subtr(this, arg);
//乘法函式
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方法,使用時直接用 .mul 即可完成計算。
number.prototype.mul = function (arg) {
return accmul(arg, this);
//除法函式
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方法,,使用時直接用 .div 即可完成計算。
number.prototype.div = function (arg) {
return accdiv(this, arg);
JS 非遞減數列 Leetcode 陣列
給定乙個長度為 n 的整數陣列,你的任務是判斷在最多改變 1 個元素的情況下,該陣列能否變成乙個非遞減數列。我們是這樣定義乙個非遞減數列的 對於陣列中所有的 i 1 i n 滿足 array i array i 1 輸入 4,2,3 輸出 true 解釋 你可以通過把第乙個4變成1來使得它成為乙個非...
JS 加減數字(保留位數,絕對精度)
加法運算,避免資料相加小數點後產生多位數和計算精度損失。param num1加數1 num2加數2 減法運算,避免資料相減小數點後產生多位數和計算精度損失。param num1被減數 num2減數 function computermath num1,num2,type catch e try ca...
JS作用域精講
當我們定義乙個變數並給他賦值時var a 1 其實js引擎分開了兩步來執行 1.var a宣告這個變數,並將它放到當前作用域中去 2.a 1在作用域中找到變數a然後將其賦值1 函式亦是如此 當我們宣告乙個函式時function fn js引擎同樣將其分開了兩步來執行 1.function fn fu...