确定数值是否在非特定整数的某个边距内
Determine if a numerical value is within some margin of a non-specific integer
我正在使用各种JavaScript Math
函数,由于浮点数,这些函数偶尔会返回大于或小于正确整数答案0.000000001的值。我希望为所述函数设置一个 if-else
语句,如果该值在整数的某个小范围内,它将返回正确的整数答案(请注意,所述整数的非特异性至关重要)。
所以我在问,有没有办法使用 JavaScript 来确定从数学函数(例如Math.cbrt()
)返回的值是否在非特定整数的某个范围内?
注意:我尝试在计算数字的第x根的函数中使用Number.EPSILON,如下所示
var index = $('#Index').val();
var radicand = $('#Radicand').val();
var powerXroot = Math.pow(radicand,(1/index))+(Number.EPSILON * Math.pow(radicand,(1/index)));
但它并不适用于所有指示。
您可以使用
Math.round()
来获取与结果最接近的整数。如果此整数在结果的 0.000000001 范围内,请将结果替换为整数。
假设,您已经计算了var x = ...
,并希望使其成为整数,如果它足够接近 1。
function roundIfAlmostInteger(x) {
if (Math.abs(x - Math.round(x)) < 0.000000001) {
x = Math.round(x);
}
return x;
}
插图:
x = 2.3 - 0.1 - 0.2; // now x is 1.9999999999999998
x = roundIfAlmostInteger(x); // now x is 2
相关文章:
- 是否可以缓存可下载的文件,并在XHR和非XHR请求之间共享该缓存
- javascript中是否有更标准化的方法来转换(序列化)非表单数据以与ajax一起使用
- 如何检查字符串是否包含非英语字符列表
- 是否存在非可视化HTML标记
- 是否可以使用chrome扩展名与非活动选项卡中的内容元素进行交互
- 是否可以在Javascript中区分非捕获函数和闭包
- 是否存在非IE等价物“;所有“;元素集合
- 如何检查给定的非凸区域是否与给定矩形完全重叠
- 检查窗口是否已从非父窗口(chrome 扩展程序)打开
- 流星.js - 是否应该对数据进行非规范化
- 是否可以以非递归方式遍历 JavaScript 中的对象
- 如何确定对象中的任何值是否为非 null
- 是否可以动态覆盖推特引导弹出窗口的位置
- 我的网站中是否需要 jQuery 脚本的非缩小版本
- Date 对象是否使用过非公历
- webRTC是否像非SSL连接上的webSockets一样掉线
- BackboneFire 是否支持使用自动同步模型的非自动同步收集?
- 是否可以使用客户端脚本获取推特搜索 API 版本 1.1 的数据
- 是否有在“异步”中实现的非递归功能
- 我们可以检测页面是否在推特上共享并LinkedIn