decimal q = 154354324243.423732432543M;
        double x = Convert.ToDouble(q);
        Unit ui = 100;
        int i = (int)ui;
第一个问题:q = 154354324243.423732432543M后面加一个M有什么用?
第二个问题:Unit是什么类型的?Unit ui = 100;int i = (int)ui;这两句错在那里?请高手指点一下。谢谢。

解决方案 »

  1.   

     Unit 是无符号的int类型的,就是不能定义 Unit i =-1;这样
      

  2.   

    加个M标示其为decimal类型,因为小数可以为float,decimal,double,你不加的话编译器不知道是哪种
    uint就是无符号整数
      

  3.   

    如果希望实数被视为 decimal 类型,请使用后缀 m 或 M
      

  4.   

    楼主有Unit类型吗?是Uint吧?
      

  5.   

    M表示前面的数是decimal类型的,就好象定义float类型要写为float a=1.234f一样
      

  6.   

    综上所述:
        1、如果希望实数被视为 decimal 类型,要用后缀 m 或 M(可参考5楼)
        2、那两句出错,是因为数据类型定义应为Uint
      

  7.   

    第一个问题:q = 154354324243.423732432543M后面加一个M有什么用?
    后面加个M表示它是decimal类型;第二个问题:Unit是什么类型的?Unit ui = 100;int i = (int)ui;这两句错在那里?
    要定义无符号整型应该用uint而不是unit吧!