标题:C#小问题
只看楼主
H_K
Rank: 1
等 级:新手上路
帖 子:13
专家分:3
注 册:2010-11-30
结帖率:100%
已结贴  问题点数:20 回复次数:7 
C#小问题
按照练习题,我写了如下的代码,但是总是提示“double类型无法转换成float型之类的错误”,可是我全是定义为float型的,为什么还会这种错误?求高手指点……
代码如下:
这是自己创建的类代码
namespace PhoneClass
{
    class Retangle
    {
        public float Length { get; set; }
        public float Width { get; set; }
        public Retangle(float cd, float mj)
        {
            Length = cd;
            Width = mj;
        }

    }
}
这是程序代码,第11行计算周长的地方提示出错
namespace PhoneClass
{
    class Program
    {
        static void Main(string[] args)
        {
            Retangle cau = new Retangle(3, 4);
            float area;
            float changdu;
            area = cau.Length * cau.Width;
            changdu = (cau.Length + cau.Width) * 2.0;
            Console.WriteLine("面积是:{0}", area);
            Console.WriteLine("长度是:{0}", changdu);
            Console.Read();
        }
    }
}
求指点,谢谢……

[ 本帖最后由 H_K 于 2010-11-30 00:18 编辑 ]
搜索更多相关主题的帖子: 练习题 
2010-11-30 00:16
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
得分:10 
小数在默认状态下被编译器认为是double类型……

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-11-30 06:54
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:10 
楼上说的有道理,你可以使用convert.tosingle()把他们都转化过来,或者把float都定义为double!!
2010-11-30 08:42
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
得分:0 
哦yeye~

www.qysy.tk
2010-11-30 11:07
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
提示: 该帖被管理员或版主屏蔽

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2010-12-01 18:26
H_K
Rank: 1
等 级:新手上路
帖 子:13
专家分:3
注 册:2010-11-30
得分:0 
LS的是什么情况啊?我考……
吓我一跳,怎么头像和我的有点像啊?还以为是我呢?
…………
2010-12-04 17:59
浩凡儿
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:101
专家分:394
注 册:2010-10-30
得分:0 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Retangle cau = new Retangle(3, 4);
            float area;
            float changdu=0;
            area = cau.Length * cau.Width;
            changdu = (float)((cau.Length + cau.Width) * 2.0);
            Console.WriteLine("面积是:{0}", area);
            Console.WriteLine("长度是:{0}", changdu);
            Console.Read();
        }
        class Retangle
        {
            public float Length { get; set; }
            public float Width { get; set; }
            public Retangle(float cd, float mj)
            {
                Length = cd;
                Width = mj;
            }

        }


    }
}
搞定了呵呵只要加个转换符就可以了是把后边的全改了(float)((cau.width+cau.length)*2.0)
2010-12-05 20:05
xienb
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2010-12-5
得分:0 
changdu = (cau.Length + cau.Width) * (float)2.0;
小数默认是double
2010-12-05 23:16



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




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

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