不能做一个简单的划分

Gab*_*son 0 c# xna function division

我正在为我的游戏开展响应式设计.我根据屏幕尺寸重新计算对象的位置.我正在做好的计算,但我的函数给我错误的结果总是返回0.我需要返回值为Int.

这里的代码:

public int rdnW(int a)
{
    double b;

    b = (a / 800 * 100);
    return (int)(b * Widths / 100);
}
Run Code Online (Sandbox Code Playgroud)

有了断点,我看到b总是= 0; 在我的情况下a = 258.谢谢

ody*_*jii 7

您正在执行整数除法.将其中一个值转换为double或float将其中一个常量指定为double:即100.0而不是100.

例

b = (a / 800.0 * 100.0);
Run Code Online (Sandbox Code Playgroud)