mysql減數命令 js精確加減乘除

2021-10-18 11:16:00 字數 2076 閱讀 6965

//加法函式

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...