0

使用名为 RPG Maker MV 的程序,在程序中它允许使用三元运算符。

我的问题是如何格式化以创建准确的计算:

a.atk * 5 / b.def * 4 >= 1 ? a.atk * 5 / b.def * 4 : 1

我希望等式采用: (a * 5)然后除以(b * 4),同时大于 1

如果为真:则使用该公式,否则/否则使用 1。

因此; 如果一个数字小于 1 或负数,它会简单地将其“转换”为 1(一)。

在程序 (RPG Maker MV) 中,这些数字在程序中的其他位置设置,但在提出问题之前已确定。

a.atk代表变量用户的攻击。(如果有帮助,A 可以是 2 的值)。

b.def代表可变的敌人防御。(如果有帮助,B 可以是 3 的值)。

4

1 回答 1

0

使用括号使乘法发生在除法之前。由于这些运算符具有相同的优先级,因此它们会从左到右执行,因此在您的情况下,除法将在最后一次乘法之前进行并弄乱结果。

var a = 2;
var b = 2;
var result = (a * 5) / (b * 4) >= 1 ? (a * 5) / (b * 4) : 1
//1.25
于 2018-03-17T05:07:07.567 回答