javascript - 检查该值是否大于或等于 JavaScript 中最接近的最低 0.05

标签 javascript

我想检查一个十进制值是否大于或等于最接近的低 0.05 值

示例

Value | Expected Nearest 0.05 value 
11.10 |    11.05           
11.11 |    11.10           
11.12 |    11.10           
11.13 |    11.10           
11.14 |    11.10           
11.15 |    11.10           
我尝试使用公式
parseFloat((Math.floor(value * 20) / 20).toFixed(2))
但它在 11.10 和 11.15 中失败。使用上面的公式,我得到的输出与值相同,但预期值不同。我应该使用哪个公式来修复上述测试用例。

最佳答案

您可以采用偏移量并采用多个底值。

const format = f => Math.floor((f - 0.01) * 20) / 20;

console.log([11.10, 11.11, 11.12, 11.13, 11.14, 11.15, 11.16, 11.17, 11.18, 11.19].map(format));
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 检查该值是否大于或等于 JavaScript 中最接近的最低 0.05,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70591459/

相关文章:

javascript - angularjs - 表单和验证

javascript - 我应该在 service worker 中使用 self 还是 this ?

javascript - 使用 jQuery $.proxy 和 $.filter 传递 "this"作为引用

javascript - 通过 URL 传递字符串数组值的最佳方法

javascript - react 图表显示纯黑色

Javascript父类(super class)每次都运行构造函数

javascript - 如何滚动以生成 native javascript?

javascript - 如何使用 Array.reduce 方法获取奇数、偶数之和?

javascript - 使用 var 设置 style.listStyleImage

javascript - Ng-Repeat 只能运行一次