比较持续时间并返回匹配的百分比
Compare duration an return a percentage of matching
我需要比较两个持续时间并生成匹配的百分比。
例如,我有一个可信持续时间,第二个持续时间需要与第一个持续时间进行比较。
有一个8%的容忍度,这意味着第二个持续时间可以比可信的持续时间多8%或少8%。
如果duration2> duration1 - 8% &&如果持续时间2 <持续时间1>持续时间1>
最后我的函数必须返回两个持续时间之间匹配的百分比。
你知道怎么做吗?
谢谢!
var d1 = 100; // trusted
var d2 = 108; // other
var diff = d2 - d1;
var percent = (diff / d1) * 100;
console.log(percent, "%");
if(Math.abs(percent) > 8) {
console.log("Ut oh");
} else {
console.log("In the sweet spot");
}
因为:
- 100%的值-> 1 *值
- 100% - 8%的价值-> 92%的价值-> 0.92 *值
- 100% + 8%的值-> 108%的值-> 1.08 *值
有可能执行以下操作
if (duration2 > duration1 * 0.92 && duration2 < duration1 * 1.08) {
return 1; // if inside -8% +8% returns 100%
} else {
// If not in the -8% or +8% returns percentage
return Math.abs((duration2 / duration1) - 1);
}
或者更好,因为你需要更少的计算
var distance = Math.abs((duration2 / duration1) - 1);
if (distance > 0.08) {
return distance;
}
return 1;
注意不清楚是需要绝对百分比还是带符号百分比。从第一个更改到第二个可以删除函数Math.abs
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- jQuery .css() 返回像素而不是百分比
- .height() 以百分比返回高度,如何以像素为单位获取它
- jQuery .css返回以像素为单位的 css 属性,而实际上以百分比为单位
- 比较持续时间并返回匹配的百分比
- jQuery.width()返回百分比宽度而不是像素宽度
- 根据百分比返回随机
- 使用width()方法并以百分比形式返回值