美文网首页
int与double类型变量混合运算

int与double类型变量混合运算

作者: forsek | 来源:发表于2017-10-12 19:45 被阅读0次
1. 使用int值计算double结果时(如比例值:期望结果0~1之间),结果异常(实际结果0.0)
        static void Main(string[] args)
        {
            int a = 350;
            int MapWidth = 501;
            int MapHight = 580;
            double Zrate;
            Zrate = Convert.ToDouble(a * MapHight / MapWidth);
            Console.WriteLine(Zrate);
            Console.ReadKey();
        }

上述代码可以返回正确结果,关键在于使用显式转换命令Convert.ToDouble()时,a * MapHight / MapWidth的运算顺序要最后才能出现非整数,如果写成(a / MapWidth) * MapHight,或是a / MapWidth* MapHight,都会返回0.0。导致变量结果错误或者程序异常。

2. int类型变量与整数混合运算
        static void Main(string[] args)
        {
            int a = 5;
            double Zrate = a /10;
            Console.WriteLine(Zrate);
            Console.ReadKey();
        }

这样写的话,双精度的变量Zrate的结果是0.0(命令行显示是0)。要写成 a /10.0才可以返回正确数值。

相关文章

网友评论

      本文标题:int与double类型变量混合运算

      本文链接:https://www.haomeiwen.com/subject/nuevextx.html