小数字数据类型与大数字数据类型

时间:2016-06-08 18:35:15

标签: c# type-conversion

我正在玩C#中的函数重载。下面的代码让我意识到double数据类型可以容纳浮点值:

class program
{
    static void Main(string[] args)
    {
        test(2f);
        Console.Read();
    }

    static void test(double a)
    {
        Console.WriteLine("double called" + a);
    }
}

与上面的代码相同,我也发现float可以容纳int值。 Double可以容纳int和float这两个值。

首先我认为这是由于数据类型的范围。

但十进制改变了我的想法,因为下面的代码没有编译:

class Program
{
    static void Main(string[] args)
    {
        test(2d);   //Invalid argument error
        Console.Read();
    }

    static void test(decimal a)
    {
        Console.WriteLine("decimal called" + a);
    }
}

为什么decimal数据类型不能容纳float和double值,而double数据类型可以容纳float值,而float数据类型可以容纳int值?

0 个答案:

没有答案