@ formjs/ 小数
BigInt 后置小数算术库,用于轻量级替换 decimal.js 在ECMA-402多填充.
代表权
数值为 mantissa × 10^exponent 其中:
mantissa是一个bigint(签名、正常化——无后继零)exponent是一个number(整数缩放系数)- 特殊旗帜处理NaN、±无限和-0
常态化可以去除以八位数块计的小数零的长行,然后处理所剩的位数. 算术值和分精度保持不变.
API 密码
采用下列27种方法: @formatjs/ecma402-abstract数字 :
- 算术数字 :
times, (中文(简体) ),div, (中文(简体) ),plus, (中文(简体) ),minus, (中文(简体) ),mod, (中文(简体) ),abs, (中文(简体) ),negated, (中文(简体) ),pow, (中文(简体) ),floor, (中文(简体) ),ceil, (中文(简体) ),log - 比较数字 :
eq, (中文(简体) ),lessThan, (中文(简体) ),greaterThan, (中文(简体) ),lessThanOrEqualTo, (中文(简体) ),greaterThanOrEqualTo - 查询数字 :
isZero, (中文(简体) ),isNaN, (中文(简体) ),isFinite, (中文(简体) ),isNegative, (中文(简体) ),isPositive, (中文(简体) ),isInteger - 改划数字 :
toNumber, (中文(简体) ),toString - 静态数字 :
BigDecimal.pow, (中文(简体) ),BigDecimal.set
内部算术懒惰地保留了10到10个权力 10^64 (最多65个)
(原始内容存档于2018-10-12). BigInts. 更强大的势力仍然无所不在。 安全整数 输入跳过字符串
解析;分数/不安全值保留其小数弦表示.
toNumber() 直接从 BigInt 转换未分级的整数系数
二进制64舍入. 小数/平面值保留小数文字转换;
NaN,无限和签名0 保持他们的明确处理.
以十班的签名权力进行划分 当算术是 安全无虞. 其他分裂者和不安全的发起者保留40位的分级 路径。 已签名的零和非无限值保留其现有的处理.