为什么打印(70*(50/100))返回0?

Mat*_*nka -10 c# unity-game-engine

为什么它返回0?

print(70 * (50 / 100));
Run Code Online (Sandbox Code Playgroud)

70*0,5 = 35

我不知道为什么会这样.或者我犯了一些愚蠢的错误......我不知道

Chr*_*tos 5

50/100整数之间的划分.因为50<100,结果为0,70*(50/100)结果为0.

如果你想避免这种情况,你必须将其中一个作为一个double.

70 * (50 / (double)100)
Run Code Online (Sandbox Code Playgroud)

要么

70 * ((double) 50/ 100)
Run Code Online (Sandbox Code Playgroud)