🤓bignumer.js中常见运算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>2</title>
</head>
<body>
<div class="main"></div>
<script src="./bignumber.js"></script>
<script>
let n = 126.549876212;
let x = BigNumber(n);
console.log(x);
// 判断类型是否是BigNumber
console.log("判断类型是否是BigNumber => BigNumber.isBigNumber(n) Result:", BigNumber.isBigNumber(n));
console.log("判断类型是否是BigNumber => BigNumber.isBigNumber(x) Result:", BigNumber.isBigNumber(x));
// 取最大值
console.log("取最大值 => BigNumber.max(12, 2, 3, 34, 55).toNumber() Result:", BigNumber.max(12, 2, 3, 34, 55).toNumber());
console.log("取最大值 => BigNumber.maximum(12, 2, 3, 34, 55).toNumber() Result:", BigNumber.maximum(12, 2, 3, 34, 55).toNumber());
// 取最小值
console.log("取最小值 => BigNumber.min(12, 2, 3, 34, 55).toNumber() Result:", BigNumber.min(12, 2, 3, 34, 55).toNumber());
console.log("取最小值 => BigNumber.minimum(12, 2, 3, 34, 55).toNumber() Result:", BigNumber.minimum(12, 2, 3, 34, 55).toNumber());
// 求和
console.log("求和 => BigNumber.sum(4e9, x, '1').toNumber() Result:", BigNumber.sum(4e9, x, "1").toNumber());
// 2位小于1随机数
console.log("2位小于1随机数 => BigNumber.random(2).toNumber() Result:", BigNumber.random(2).toNumber());
// 绝对值
console.log("绝对值 => BigNumber('-1.21').abs().toNumber() Result:", BigNumber("-1.21").abs().toNumber());
// 比较大小
// 1 如果这个大数字的价值大于n
// -1 如果这个大数字的价值低于n
// 0 如果这个大数字和有相同的价值n
// null 如果这个大数字的价值或是nNaN
console.log("比较大小 => BigNumber(111111).comparedTo(2222) Result:", BigNumber(111111).comparedTo(2222));
// 四舍五入
// 三位小数
console.log("四舍五入 三位小数 => BigNumber(12.32162).decimalPlaces(3).toNumber() Result:", BigNumber(12.32162).decimalPlaces(3).toNumber());
console.log("四舍五入 三位小数 => BigNumber(12.32162).dp(3).toNumber() Result:", BigNumber(12.32162).dp(3).toNumber());
// 四舍五入 整数
console.log("四舍五入 整数 => BigNumber(123.756).integerValue().toNumber() Result:", BigNumber(123.756).integerValue().toNumber());
// 等于
console.log("等于 => BigNumber(123).isEqualTo(123.00000000000000001) Result:", BigNumber(123).isEqualTo(123.00000000000000001));
console.log("等于 => BigNumber(123).isEqualTo(123.100000000000000001) Result:", BigNumber(123).isEqualTo(123.100000000000000001));
console.log("等于 => BigNumber(123).eq(123.00000000000000001) Result:", BigNumber(123).eq(123.00000000000000001));
console.log("等于 => BigNumber(123).eq(123.100000000000000001) Result:", BigNumber(123).eq(123.100000000000000001));
// 大于
console.log("大于 => BigNumber(0.3).minus(0.2).isGreaterThan(0.1) Result:", BigNumber(0.3).minus(0.2).isGreaterThan(0.1));
console.log("大于 => BigNumber(0.3).minus(0.2).gt(0.1) Result:", BigNumber(0.3).minus(0.2).gt(0.1));
// 大于等于
console.log("大于等于 => BigNumber(0.3).minus(0.2).isGreaterThanOrEqualTo(0.1) Result:", BigNumber(0.3).minus(0.2).isGreaterThanOrEqualTo(0.1));
console.log("大于等于 => BigNumber(0.3).minus(0.2).gte(0.1) Result:", BigNumber(0.3).minus(0.2).gte(0.1));
// 小于
console.log("小于 => BigNumber(0.3).minus(0.2).isLessThan(0.1) Result:", BigNumber(0.3).minus(0.2).isLessThan(0.1));
console.log("小于 => BigNumber(0.3).minus(0.2).lt(0.1) Result:", BigNumber(0.3).minus(0.2).lt(0.1));
// 小于等于
console.log("小于等于 => BigNumber(0.3).minus(0.2).isLessThanOrEqualTo(0.1) Result:", BigNumber(0.3).minus(0.2).isLessThanOrEqualTo(0.1));
console.log("小于等于 => BigNumber(0.3).minus(0.2).lte(0.1) Result:", BigNumber(0.3).minus(0.2).lte(0.1));
// 加
console.log("加 => BigNumber(0.2).plus(0.1).toNumber() Result:", BigNumber(0.2).plus(0.1).toNumber());
// 减
console.log("减 => BigNumber(0.3).minus(0.1).toNumber() Result:", BigNumber(0.3).minus(0.1).toNumber());
// 乘
console.log("乘 => BigNumber(0.3).multipliedBy(0.2).toNumber() Result:", BigNumber(0.3).multipliedBy(0.2).toNumber());
console.log("乘 => BigNumber(0.3).times(0.2).toNumber() Result:", BigNumber(0.3).times(0.2).toNumber());
// 除
console.log("除 => BigNumber(12).dividedBy(7).toNumber() Result:", BigNumber(12).dividedBy(7).toNumber());
console.log("除 => BigNumber(12).div(7).toNumber() Result:", BigNumber(12).div(7).toNumber());
// 除 取整数部分
console.log("除 取整数部分 => BigNumber(12).dividedToIntegerBy(7).toNumber() Result:", BigNumber(12).dividedToIntegerBy(7).toNumber());
console.log("除 取整数部分 => BigNumber(12).idiv(7).toNumber() Result:", BigNumber(12).idiv(7).toNumber());
// 取余 10 % 3
console.log("取余 => BigNumber(10).modulo(3).toNumber() Result:", BigNumber(10).modulo(3).toNumber());
console.log("取余 => BigNumber(10).mod(3).toNumber() Result:", BigNumber(10).mod(3).toNumber());
// 取反数 -1.3 * -1
console.log("取反数 -1.3 * -1 => BigNumber(-1.3).negated().toNumber() Result:", BigNumber(-1.3).negated().toNumber());
// 指数
console.log("指数 2^10 => BigNumber(2).exponentiatedBy(10).toNumber() Result:", BigNumber(2).exponentiatedBy(10).toNumber());
console.log("指数 2^10 => BigNumber(2).pow(10).toNumber() Result:", BigNumber(2).pow(10).toNumber());
// 是否是有限的数字
console.log("是否是有限的数字 => Result:", BigNumber(123).isFinite());
console.log("是否是有限的数字 => Result:", BigNumber(Infinity).isFinite());
// 是否是一个整数
console.log("是否是一个整数 => Result:", BigNumber(0.3).isInteger());
console.log("是否是一个整数 => Result:", BigNumber(3).isInteger());
// 是否是NaN
console.log("是否是NaN => Result:", BigNumber(NaN).isNaN());
console.log("是否是NaN => Result:", BigNumber(Infinity).isNaN());
// 是否是负数
console.log("是否是负数 => Result:", BigNumber(-0).isNegative());
console.log("是否是负数 => Result:", BigNumber(0).isNegative());
// 格式化
let fmt = {
prefix: "$",
decimalSeparator: ".",
groupSeparator: ",",
groupSize: 3,
secondaryGroupSize: 0,
fractionGroupSeparator: " ",
fractionGroupSize: 0,
suffix: " ",
};
console.log("格式化 => Result:", BigNumber("123456789.123456789").dp(2).toFormat(fmt));
</script>
</body>
</html>
Last updated