数字
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