我从这个脚本中得到了一个虚假的事实,这令人困惑。在Node.js中使用虚拟机。 “ XFactor”实际上是从0.0到1.0的比例,代表变量1和变量2之间的关系。
Schema.virtual('XFactor').get(function() {
if (this.variable1 > this.variable2) {
var x = 1/2 * (this.variable2 / this.variable1);
} else {
var x = 1- 1 / 2 * this.variable1 / this.variable2;
}
return x.toFixed(2);
});
这段代码一直在起作用。但是由于某种原因,它是不可靠的。 if子句if (this.variable1 > this.variable2)
有时即使不正确,有时也会被评估为true,从而运行了错误的代码部分。如果相关,变量1和变量2也是虚拟的,在代码的前面部分中进行了计算。它们是整数。
答案 0 :(得分:0)
我很高兴能够回答自己的问题!由于某种原因,我在此脚本中使用的其他虚拟机尽管是数字,但根据Javascript却不是数字。因此,为了执行精确的数值函数,我必须将它们转换。我使用Number()
函数来做到这一点。一旦完成,一切都会按预期进行。