nerve-sdk-js
Version:
nerve nerve-js nerve-sdk nerve-js-sdk
137 lines (116 loc) • 2.86 kB
JavaScript
var BigNumber = require('bignumber.js');
module.exports = {
instance(nu) {
return new BigNumber(nu);
},
/**
* 10的N 次方
* @param arg
* @returns {BigNumber}
* @constructor
*/
Power(arg) {
var newPower = new BigNumber(10);
return newPower.pow(arg);
},
/**
* 加法
* @param nu
* @param arg
* @returns {BigNumber}
* @constructor
*/
Plus(nu, arg) {
var newPlus = new BigNumber(nu);
return newPlus.plus(arg);
},
/**
* 减法
* @param nu
* @param arg
* @returns {BigNumber}
* @constructor
*/
Minus(nu, arg) {
var newMinus = new BigNumber(nu);
return newMinus.minus(arg);
},
isGreaterThan(a, b) {
var _a = new BigNumber(a);
return _a.isGreaterThan(b);
},
isLessThan(a, b) {
var _a = new BigNumber(a);
return _a.isLessThan(b);
},
/**
* 乘法
* @param nu
* @param arg
* @returns {BigNumber}
* @constructor
*/
Times(nu, arg) {
var newTimes = new BigNumber(nu);
return newTimes.times(arg);
},
/**
* 除法
* @param nu
* @param arg
* @returns {BigNumber}
* @constructor
*/
Division(nu, arg) {
var newDiv = new BigNumber(nu);
return newDiv.div(arg);
},
/**
* 数字乘以精度系数
*/
timesDecimals(nu, decimals) {
var newInfo = sessionStorage.hasOwnProperty('info') ? JSON.parse(sessionStorage.getItem('info')) : '';
var newDecimals = decimals ? decimals : newInfo.defaultAsset.decimals;
if (decimals === 0) {
return nu;
}
var newNu = 0;
if (newDecimals > 9) {
newNu = new BigNumber(Times(nu, Power(newDecimals))).toFormat().replace(/[,]/g, '');
} else {
newNu = new BigNumber(Times(nu, Power(newDecimals))).toString();
}
return newNu;
},
/**
* 数字除以精度系数
*/
divisionDecimals(nu) {
var decimals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
var newInfo = sessionStorage.hasOwnProperty('info') ? JSON.parse(sessionStorage.getItem('info')) : '';
var newDecimals = decimals ? decimals : newInfo.defaultAsset.decimals;
if (decimals === 0) {
return nu;
}
var newNu = new BigNumber(Division(nu, Power(newDecimals)));
return newNu.toFormat().replace(/[,]/g, '');
},
/**
* 超长数字显示
* @param nu
* @param powerNu
* @returns {string}
*/
langNumber(nu, powerNu) {
var newNu = new BigNumber(Division(nu, powerNu).toString());
return newNu.toFormat().replace(/[,]/g, '');
},
//转千分位
toThousands() {
var num = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var N = num.toString().split('.');
var int = N[0];
var float = N[1] ? '.' + N[1] : '';
return int.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') + float;
}
};