标题:新手请教一个简单类型转换问题??????????
只看楼主
super311
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-6-25
结帖率:100%
已结贴  问题点数:20 回复次数:3 
新手请教一个简单类型转换问题??????????
程序代码:
           
            Console.WriteLine("Int32可存储的最大值:");
            Console.WriteLine(Int32.MaxValue);
            Console.WriteLine("double可存储的最大值:");
            Console.WriteLine(double.MaxValue);

            int val1 = Convert.ToInt32(Console.ReadLine());//四个值全部输入1300;
            int val2 = Convert.ToInt32(Console.ReadLine());
            int val3 = Convert.ToInt32(Console.ReadLine());
            int val4 = Convert.ToInt32(Console.ReadLine());

            double valResult = val1 * val2 * val3 * val4;
            //应该得到的值是2856100000000,这个值是否可以隐式转换为double类型.我执行过,得到的结果是-53251840.
            //int-》double类型,不是可以隐式转换的吗,请教????
            Console.WriteLine(valResult);
            Console.ReadKey();





[ 本帖最后由 super311 于 2010-8-2 09:31 编辑 ]
搜索更多相关主题的帖子: 类型 
2010-08-01 23:24
Mark_hong
Rank: 2
等 级:论坛游民
帖 子:22
专家分:33
注 册:2010-7-28
得分:10 
int-》double类型,是可以隐式转换的,但是double valResult = val1 * val2 * val3 * val4;隐式装换之前就已经越界了,所以转换之后也是越界的
2010-08-02 19:00
dearwolf4128
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
威 望:6
帖 子:79
专家分:365
注 册:2010-7-2
得分:5 
二楼说的对,应该是你的值超出了正的边界,所以才会出现负值
2010-08-04 18:04
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:5 
程序代码:
            double val1 = Convert.ToDouble(Console.ReadLine());//四个值全部输入1300;
            double val2 = Convert.ToDouble(Console.ReadLine());
            double val3 = Convert.ToDouble(Console.ReadLine());
            double val4 = Convert.ToDouble(Console.ReadLine());

飘过~~
2010-08-04 18:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-314555-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.161541 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved