数字

toFixed

const a = 30
const b = a.toFixed(10) // '30.0000000000'

为什么 Number 执行 toFixed() 之后变成了 String 类型?那是因为对于 Number 类型,会省去整数部分前置的 0,和小数点后置的 0,例如 字符串 ‘000123.456000’ 进行 Number 转换的结果是 : 123.456,但是 toFixed 的结果要根据参数的数字进行四舍五入,也可能在小数点后补0,所以只能是 String 类型。

isNaN

可用于判断其参数是否是 NaN,该值表示一个非法的数字

isNaN(123)    // false
isNaN(-1.23)  // false
isNaN("54")   // false
isNaN("Hello")// true

js 的精度问题

0.1 + 0.2 // 0.30000000000000004
1.335.toFixed(2) // "1.33"

// 解决方案: 引入 big.js
npm install --save big.js
import Big from 'big.js'

Big(0.1).plus(0.2) // 0.3