功能:
- 2进制-32进制数运算
- 大整数加(正负均可)
- 大整数减(正负均可)
- 大整数乘(正负均可)
- 大整数除(正负均可,得出的结果为整数,抹去小数部分)
- 大整数取余(得出的结果恒为正数)
- 大整数随机数生成
使用:
首先把下载好的weChatBigNumber.js文件放入微信小程序的 项目根目录/utils 文件夹下。
在需要的.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代码如下:
//weChatBigNumber.js
//基于微信小程序的多进制大数运算库
var radix = 16; //进制调整
//去除开头的0
function ltrimZero(str) {
for (var i = 0; i < str.length && str.charAt(i) === '0'; i++);
return str.slice(i);
}
//大数加
function add(a, b) {
a = a + '';
b = b + '';
if (a.indexOf('-') >= 0 && b.indexOf('-') < 0) {
a = a.substr(1);
return subtract(b, a);
} else if (a.indexOf('-') < 0 && b.indexOf('-') >= 0) {
b = b.substr(1);
return subtract(a, b);
} else if (a.indexOf('-') >= 0 && b.indexOf('-') >= 0) {
a = a.substr(1);
b = b.substr(1);
return '-' + addWithoutSign(a, b);
} else {
return addWithoutSign(a, b);
}
}
//大数无符号加
function addWithoutSig