js数字小数点操作 - Kaiqisan
程序员文章站
2023-12-22 19:52:34
...
js数字小数点操作
こんにちは、Kaiqisanですうう、今日もいろんな話したいことがあるんだよ!今天就讲讲js的小数点操作,又是一个细小而不可忽视的一个操作。
转化整数
parseInt(num)
: 括号内填写要转化的参数。强制转化为int类型,虽然js中没有int这个数据类型,但是这里的意思是丢弃一个小数的小数点后的所有的位数,直接变成整数。这个方法也同样适用于字符串,只要符合一个小数的规范,就可以直接完成转化数字类型,取整,这两步操作。
let a = 12.23
a = parseInt(a)
console.log(a) // 12
let a = -1.23
a = parseInt(a)
console.log(a) // -1
Math.round(num)
: 四舍五入取整,同样支持传入符合规范的字符串。
let a = 12.23
a = Math.round(a)
console.log(a) // 12
let a = 12.7
a = Math.round(a)
console.log(a) // 13
Math.ceil(num)
: 向上取整,支持传入符合规范的字符串。
let a = 12.23
a = Math.ceil(a)
console.log(a) // 13
let a = -12.23
a = Math.ceil(a)
console.log(a) // -12
Math.floor(num)
: 向下取整,支持传入符合规范的字符串。
let a = 12.23
a = Math.floor(a)
console.log(a) // 12
let a = -12.23
a = Math.floor(a)
console.log(a) // -13
保留小数位
toFixed(num)
:强制转化小数点位数,但是转化完成之后,这个参数的类型惨遭修改,变成了string类型,如果有需要的话,但是如果只是把这个参数拿来渲染到页面上的话,其实到这一步就可以收手了,但如果您还想拿它继续操作的话,就需要再次转化为数字类型。
// 强转之后的位数比原来少
let a = -12.2388888
a = a.toFixed(4)
console.log(a) // '12.2389' 取舍规则为四舍六入五取偶
console.log(typeof a) // string
a = Number(a) // 重新转化为数字类型
// 强转之后的位数比原来多
let a = -12.23
a = a.toFixed(9)
console.log(a) // '12.230000000'
console.log(typeof a) // string
a = Number(a) // 重新转化为数字类型
console.log(a) // 12.23
其他方法
使用toString()
方法之后,数字类型就可以转化为字符串类型,到时候,想怎么转换就怎么转换了,操作一个字符串的*度远比操作一个数字的*度要高。
总结
上面也提到了,这个功能在渲染页面数据的时候,大有左右,有时候,后端会给出一个小数点较多的一个数,可能您的页面不支持一个位数这么多的一个数字,这个时候,就可以使用控制小数点的方法来修改后台的数据甚至可以直接把小数点后的所有的位数给删除。
推荐阅读