功能:
使用:在需要的.js檔案中引入:
var bignum = require('../../utils/wechatbignumber.js')
方法說明:
函式例項
說明add(x,y)
bignum.add(x,y)
將x,y兩個字串相加,返回值為x+y的結果字串。
subtract(x,y)
bignum.subtract(x,y)
將x,y兩個字串相減,返回值為x-y的結果字串。
multiply(x,y)
bignum.multiply(x,y)
將x,y兩個字串相乘,返回值為x*y的結果字串。
divide(x,y)
bignum.divide(x,y)
將x,y兩個字串相除,返回值為x/y的結果字串。注意:結果只保留整數部分。
mod(x,y)
bignum.mod(x,y)
將x,y兩個字串取餘,返回值為x%y的結果字串。注意:y必須為正,結果恒為整數。
randomnum(x)
bignum.randomnum(x)
生成0-x的隨機大整數。
呼叫方法
bignum.方法名(引數一,引數二,...)
wechatbignumber.js**如下:
var radix = 16; //進製調整
//去除開頭的0
function ltrimzero(str)
//大數加
function add(a, b) else if (a.indexof('-') < 0 && b.indexof('-') >= 0) else if (a.indexof('-') >= 0 && b.indexof('-') >= 0) else
}//大數無符號加
function addwithoutsign(a, b) else
var temptotal = parseint(total[i], radix);
if (temptotal >= radix)
addflag = 1;
} else
}total = total.reverse().join('');
return total;
} else else
var temptotal = parseint(total[i], radix);
if (temptotal >= radix)
addflag = 1;
} else
}total = total.reverse().join('');
return total;
}}//大數乘
function multiply(a, b) else if (a.indexof('-') < 0 && b.indexof('-') >= 0) else if (a.indexof('-') >= 0 && b.indexof('-') >= 0) else
}//大數無符號乘
function multiplywithoutsign(a, b)
} for (var i = 0; i < len1; i++)
} var n = result.length;
for (var k = 0; k < n; k++)
} output = output.reverse().join('');
output = ltrimzero(output);
if (output == '')
return output
}//大數減
function subtract(a, b) else if (a.indexof('-') < 0 && b.indexof('-') >= 0) else if (a.indexof('-') >= 0 && b.indexof('-') >= 0) else
}//大數無符號減
function subtractwithoutsign(a, b)
while (b.length < a.length)
//從後面位數向前相減
for (var i = a.length - 1; i >= 0; i--) else
} //如果最高位仍然要借位
if (minusone)
result = result.join('');
output = output.join('');
result = ltrimzero(result);
output = ltrimzero(output);
if (output == '')
return output;
}//大數除法(只支援整數除法)
function divide(a, b) else if (a.indexof('-') < 0 && b.indexof('-') >= 0) else if (a.indexof('-') >= 0 && b.indexof('-') >= 0) else
}//無符號除法,返回商
function dividewithoutsign(a, b) else if (compare(a, b) == 0)
var alen = a.length;
var blen = b.length;
var times = alen - blen + 1;
var result = ;
for (var c = 0; c < times; c++)
while (compare(a, tempb) >= 0)
} for (var c = 0; c < result.length; c++)
var output = ltrimzero(result.join(''));
return output;
}//取餘(a可正可負,b只能為正數),最後的結果恒為非負數
function mod(a, b)
// a - (a/b)*b
var output = divide(a, b);
output = multiply(output, b);
output = subtract(a, output);
if (output.indexof('-') != -1)
return output;
}//比較函式(1:a大,±0:相等,-1,:b大)
function compare(a, b) else if (a.indexof('-') < 0 && b.indexof('-') >= 0) else if (a.indexof('-') >= 0 && b.indexof('-') >= 0)
a = a.replace(/^0+/, '');
b = b.replace(/^0+/, '');
var flag;
if (a.length < b.length) else if (a.length > b.length) else
if (flag == 0) else if (aarr[i] < barr[i])
}} return sign * flag;
}//大數隨機數(生成0-n之間的隨機數)
function randomnum(n)
module.exports =
(微信小程式)一 初識微信小程式
需要看的 先是檔案目錄 一 pages 他存放於多個頁面 如 index log頁面。可以把他裡面的每個資料夾看成乙個整體。這個整體存放著 html css 和 資料 1 index資料夾 存放的index頁面的目錄。2 index.js 他可以處理得到 ajax 或自定義定義的資料。把得到的值封裝...
微信小程式
2.單獨設定某一頁面下的頂部欄的背景顏色,在其對應的.json檔案下修改即可 3.this.setdata 注意 onload函式下面執行的是非同步操作,非同步操作裡面this.data.直接賦值,是無效的,必須使用this.setdata this.setdata msg he llo wor l...
微信小程式
你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展示 全新的ka...