小程序保留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种方法出来的钱的值都不对。

相关推荐
Moment10 小时前
Vibe Coding 时代,到底该选什么样的工具来提升效率❓❓❓
前端·后端·github
IT_陈寒12 小时前
SpringBoot性能飙升200%?这5个隐藏配置你必须知道!
前端·人工智能·后端
小时前端12 小时前
React性能优化的完整方法论,附赠大厂面试通关技巧
前端·react.js
Nicko13 小时前
Jetpack Compose BOM 2026.02.01 解读与升级指南
前端
小蜜蜂dry13 小时前
nestjs学习 - 控制器、提供者、模块
前端·node.js·nestjs
优秀稳妥的JiaJi13 小时前
基于腾讯地图实现电子围栏绘制与校验
前端·vue.js·前端框架
前端开发呀13 小时前
从 qiankun(乾坤) 迁移到 Module Federation(模块联邦),对MF只能说相见恨晚!
前端
Lee川13 小时前
深度解构JavaScript:作用域链与闭包的内存全景图
javascript·面试
没想好d13 小时前
通用管理后台组件库-10-表单组件
前端
恋猫de小郭13 小时前
你用的 Claude 可能是虚假 Claude ,论文数据告诉你,Shadow API 中的欺骗性模型声明
前端·人工智能·ai编程