首页 > 解决方案 > JavaScript / reactJS - 将最后一个小数四舍五入(没有硬编码的小数来计算)

问题描述

通过使用 JavaScript 计算,例如(在 live 中可以是任何值)

1000/0.997 = 1003.0090270812437

使用PC计算器计算

1000/0.997 = 1003.009027081244 // auto round up last decimal

在此处输入图像描述

但是如果!!! 这是正确的,与窗口相同,在这种情况下不需要四舍五入

500/0.997 = 501.5045135406219 // this is correct and same as window calculator

在此处输入图像描述

我更喜欢的输出是自动向上取整值1003.009027081244

问题:在 JavaScript 中,如何将小数的最后一位四舍五入?

我试过的:

Math.round(1003.0090270812437) // 1003

标签: javascript

解决方案


也许你可以使用基于字符串的解决方案

将十进制数转换为字符串,然后split.. 然后取一个小数部分长度减去 1,并将其用于toFixed原始数字。

您可能需要一些额外的检查,以查看数字是否有小数部分

const decimal = 1003.0090270812437;
const text = decimal.toString().split('.')[1];

console.log(decimal.toFixed(text.length - 1)); // 1003.009027081244 


推荐阅读