为了账号安全,请及时绑定邮箱和手机立即绑定

不要去除 JavaScript Decimal 构造函数中的尾随零

不要去除 JavaScript Decimal 构造函数中的尾随零

长风秋雁 2023-01-06 10:57:24

我有代表金钱的字符串。例如 29.00 或 29.10 或 29.13 货币然而可以改变并且不一定导致默认具有两位小数的值(例如日元根本没有小数位)

现在,我使用 Decimal.js 对这些值执行计算

例如我乘以一个百分比

let d = new decimal("29.00")
let e = d.mul(0.133333333333).toDP(d.decimalPlaces())

然而,当构造函数去除尾随零并将 decimalPlaces 设置为 0 时,结果四舍五入到小数点后 0 位。

我怎样才能得到一个小数值,它总是有输入字符串提供的小数位数?在此示例中,d.decimalPlaces 应返回 2(因为 29.00 必须保留小数位)。

替代解决方案:如何从字符串中提取小数位数?


查看完整描述

1 回答

?
哈士奇WWW

TA贡献1547条经验 获得超6个赞

你是这个意思?


const keepDecimal = (str,mul) => {

  const dec = str.split(".");

  const numDec = dec.length===2?dec[1].length:0;

  return (str*mul).toFixed(numDec);

}


console.log(keepDecimal("29.13",0.133333333333))

console.log(keepDecimal("29",0.133333333333))


查看完整回答
反对 回复 2023-01-06
  • 1 回答
  • 0 关注
  • 13 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信