Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 比较持续时间返回匹配的百分比_Javascript_Node.js_Algorithm_Compare_Percentage - Fatal编程技术网

Javascript 比较持续时间返回匹配的百分比

Javascript 比较持续时间返回匹配的百分比,javascript,node.js,algorithm,compare,percentage,Javascript,Node.js,Algorithm,Compare,Percentage,我需要比较两个持续时间并生成匹配的百分比 例如,我有一个可信的持续时间,第二个持续时间需要与第一个进行比较 公差为8%,这意味着第二个持续时间可以比受信任的持续时间长8%或短8% 如果持续时间2>1-8%和&21*值 100%-8%值-->92%值-->0.92*值 100%+8%值-->108%值-->1.08*值 可以执行以下操作 if (duration2 > duration1 * 0.92 && duration2 < duration1 * 1.08)

我需要比较两个持续时间并生成匹配的百分比

例如,我有一个可信的持续时间,第二个持续时间需要与第一个进行比较

公差为8%,这意味着第二个持续时间可以比受信任的持续时间长8%或短8%

如果持续时间2>1-8%和&2<1+8% 回报100%

最后,我的函数必须返回两个持续时间之间的匹配百分比

你知道怎么做吗

谢谢大家!

因为:

  • 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); 
}
注意:不清楚您是否需要绝对百分比或签名百分比。从第一个更改为第二个可以删除函数Math.abs,因为:

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); 
}

注意:不清楚您是否需要绝对百分比或签名百分比。从第一个更改为第二个可能会删除函数Math.abs

哪部分您不知道如何转换为JavaScript?如何获得良好的匹配百分比!哪一部分你不知道如何翻译成JavaScript?如何获得很好的匹配率!
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");
}