zoukankan      html  css  js  c++  java
  • js两位小数转为整数

    现在使用了mathjs库去解决小数的问题

    !!!!!!!!!!以下已经废弃,通过测试还是有问题。这里只是自己记录下。

    场景:前端输入的单位是元,但是传给后端的单位是分。

    原因:由于js的小数计算会出现精度问题,所以先转为整数在计算

    解决:先将传入的小数转为整数,转为整数时幂数要多乘以10,最后在除以10转换回来,还是因为精度问题

    function goInt(num, squareNum = 2) {
    const len = num.toString().split('.').length
    if (len <= 2) {
    if (!Number.isNaN(num)) { // 是数字
    const baseNum = Math.pow(10, (squareNum + 1))
    const tempNum = Math.round(num * baseNum)
    return parseInt(tempNum / 10)
    }
    }
    }

    测试用例:
    console.log(goInt(0))
    console.log(goInt(3))
    console.log(goInt(3.4))
    console.log(goInt(6.78))
    console.log(goInt(8.456))
    console.log(goInt(9.1234))
    console.log(goInt('1.2333.21567'))
    console.log(goInt('-4.567.898'))
    console.log(goInt(-4.56789))
    console.log(goInt(-2.2))
    console.log(goInt(-8))
    console.log(goInt(19948.51))

  • 相关阅读:
    【Linux】sed笔记
    【Linux】nl笔记
    【Kubernetes】架构全图
    【Linux】tar压缩解压缩笔记
    【Docker】初识与应用场景认知
    【Ubuntu】16.04网卡信息配置
    常用枚举类
    mysql生成主键
    eclipse下mybatis-generator-config插件
    tomcat下载镜像地址
  • 原文地址:https://www.cnblogs.com/victory820/p/10911634.html
Copyright © 2011-2022 走看看