除以0而不是浮点数

Iva*_*nov 0 c#

当我发现我的代码不能正常工作时我感到非常惊讶所以我创建了一个控制台应用程序来查看问题所在,当我看到下面的代码返回0时我更加惊讶

    static void Main(string[] args)
    {
        float test = 140 / 1058;
        Console.WriteLine(test);
        Console.ReadLine();
    }
Run Code Online (Sandbox Code Playgroud)

我试图将结果输入%并将其放入我的应用程序的进度(意味着(140/1058)*100)栏中,第二个值(1058)实际上是我的应用程序中的ulong类型,但这不是好像是问题所在.

问题是 - 问题在哪里?

eri*_*len 8

您正在使用整数运算,然后将结果转换为浮点数.使用浮点运算代替:

float test = 140f / 1058f;
Run Code Online (Sandbox Code Playgroud)