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

相关推荐
好好研究3 小时前
使用JavaScript实现轮播图的自动切换和左右箭头切换效果
开发语言·前端·javascript·css·html
伍哥的传说6 小时前
Radash.js 现代化JavaScript实用工具库详解 – 轻量级Lodash替代方案
开发语言·javascript·ecmascript·tree-shaking·radash.js·debounce·throttle
程序视点7 小时前
IObit Uninstaller Pro专业卸载,免激活版本,卸载清理注册表,彻底告别软件残留
前端·windows·后端
前端程序媛-Tian7 小时前
【dropdown组件填坑指南】—怎么实现下拉框的位置计算
前端·javascript·vue
iamlujingtao7 小时前
js多边形算法:获取多边形中心点,且必定在多边形内部
javascript·算法
嘉琪0017 小时前
实现视频实时马赛克
linux·前端·javascript
烛阴8 小时前
Smoothstep
前端·webgl
若梦plus8 小时前
Eslint中微内核&插件化思想的应用
前端·eslint
爱分享的程序员8 小时前
前端面试专栏-前沿技术:30.跨端开发技术(React Native、Flutter)
前端·javascript·面试
超级土豆粉8 小时前
Taro 位置相关 API 介绍
前端·javascript·react.js·taro