js中的算术表达式

隐式类型转换

如果参与数学运算的某操作数不是数字型,那么js会自动将此操作数转换成数字型

其本质是内部调用 Number()  函数

eg:3 * '4'  //12

        true + true  //2

        3 *  '2天'  //NaN

        3 + null  //3

注意:加法不会自动转换 3 + '4'  //34    3 + '2天'  //32天

有关IEEE754

js中一些小数运算不准确:0.1 + 0.2  //0.300000000004

原因:js使用了IEEE754二进制浮点数算术标准 个别小数产生“丢失精度”问题

解决办法:在进行小数运算时,调用数字的 toFixed() 方法保留指定的小数位数

console.log(Number((0.1 + 0.2).toFixed(2)))  //0.3

幂和开根号

js中未提供幂计算、开根号运算符。

解决办法:使用Math对象的相关方法进行计算

 console.log(Math.pow(2,3))  //2*2*2=8
 console.log(Math.sqrt(81))  //9
 console.log(Math.sqrt(-81))  //NaN 负数不能开根号

向上取整和向下取整

Math.ceil()向上取整   Math.floor()向下取整

 

        console.log(Math.ceil(2.4))  //3
        console.log(Math.floor(2.4))  //2

        console.log(Math.ceil(-2.4))  //-2
        console.log(Math.floor(-2.4))  //-3

        console.log(Math.ceil(2))  //2
        console.log(Math.floor(2))  //2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值