小程序保留2位小数据,不四舍五入

方法1: parseInt + toFixed

复制代码
/*
* 保留2位小数,不四舍五入
* 5.992550 =>5.99 , 2 => 2.00
* */
const toFixed2Decimal = (value) => {
  return (parseInt(value*100)/100).toFixed(2)
}
console.log(587.67*100)
console.log(toFixed2Decimal(587.67))
console.log(toFixed2Decimal(-0.1123456))
console.log(toFixed2Decimal(-1))
console.log(toFixed2Decimal('-12.999'))
console.log(toFixed2Decimal('-12.99999'))
module.exports = {
  toFixed2Decimal: toFixed2Decimal
}

输出 :

58766.99999999999
587.66

-0.11

-1.00

-12.99

-12.99

有问题: 587.67 转换之后 587.66

方法2:Math.floor + tofixed

复制代码
const toFixed2Decimal = (value) => {
  return (Math.floor(value*100)/100).toFixed(2)
}

console.log(toFixed2Decimal(-0.1123456))
console.log(toFixed2Decimal(-1))
console.log(toFixed2Decimal('-12.999'))
console.log(toFixed2Decimal('-12.99999'))

输出:

-0.12

-1.00
-13.00
-13.00

有问题-12.99 得出-13.00

想哭啊。2种方法出来的钱的值都不对。

相关推荐
南雨北斗6 小时前
vue3项目状态持久化方案Pinia
前端
计算机魔术师6 小时前
Uber 工程师不动手,Agent 接管了 70% 的代码 PR
前端
南雨北斗6 小时前
Vue3项目中使用Pinia代替TP6 session传递
前端
律宏阔6 小时前
Electron 打包 CloakBrowser:解决客户电脑缺少浏览器二进制的问题
前端
এ慕ོ冬℘゜7 小时前
jQuery 核心方法
前端·javascript·jquery
阳火锅7 小时前
老板要周报?我说不用,代码提交就是进度
前端·javascript·vue.js
chjif7 小时前
一张照片和一段声音如何生成口播视频:MiniMax H3 音画同步实测
java·前端·javascript
lucky九年7 小时前
deepseek harness主题插件dsh-web-theme
前端
FungLeo7 小时前
成为全栈·Node 后端篇·后端工程从零搭建:TypeScript、目录与热更新
javascript·typescript·node 后端