使用小数和整数

时间:2018-01-22 07:37:53

标签: c# division

我确定这是一个愚蠢的问题,但我是新手!

namespace Rextester
{    
    public class Program
    {
        public static void Main(string[] args)
        {
            var myInt = ((1000/2048) * 1536);
            Console.WriteLine(myInt);
        }
    }
}

输出是: 0

有人可以告诉我如何获得正确的数字(750)吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,1000和2048是int,因此结果将被视为int。 你必须把它们加倍。

选项1:

var myInt = (((double)1000 / 2048) * 1536);
Console.WriteLine(myInt);

选项2:

var myInt = ((1000.0 / 2048) * 1536);
Console.WriteLine(myInt);

您应该阅读C#中的值类型:

https://www.tutorialspoint.com/csharp/csharp_data_types.htm

https://msdn.microsoft.com/en-us/library/system.double(v=vs.110).aspx