社区
C#
帖子详情
C#隐式转换问题2个
混_混
2005-07-31 12:48:33
两个问题,一个10分
一、
为什么写
float x1=3.0
会提示,不能将double类型隐式转换成float,而写成
float x1=3
或
float x1=3.0F
却可以编译呢。
二、
float s=3.7f;
double x;
x=s;
Console.WriteLine(x);
会得到 3.70000004768372 而不是3.7呢,但s如果等于3.0或3,却又是得到3,而不是3.0000…呢?
...全文
182
11
打赏
收藏
C#隐式转换问题2个
两个问题,一个10分 一、 为什么写 float x1=3.0 会提示,不能将double类型隐式转换成float,而写成 float x1=3 或 float x1=3.0F 却可以编译呢。 二、 float s=3.7f; double x; x=s; Console.WriteLine(x); 会得到 3.70000004768372 而不是3.7呢,但s如果等于3.0或3,却又是得到3,而不是3.0000…呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
混_混
2005-08-01
打赏
举报
回复
Thanx
QJ_VXC_QG
2005-07-31
打赏
举报
回复
第二个问题,可参看较厚一点的C#技术书。
sandsboy
2005-07-31
打赏
举报
回复
对于浮点数,如果不加后缀的话默认是double类型,对于整型,默认是int类型。
从double转换到float会造成精度丢失,所以要显示转换才型。
float f=(float)3.0 //编译通过
f=3.0f //编译通过
zhujiechang
2005-07-31
打赏
举报
回复
二、以前我有个同事用PB来编写程序,喜欢用double和float,结果大量运算后总是有1~10的差距,
结果被客户骂得半死,说计算机还没他手算得准。
所以建议使用Decimal这样的类型。
ivorstar
2005-07-31
打赏
举报
回复
To
对于第一个问题我还想问一下,就是为什么写成
float x1=3
你这样不加F,也可以通过编译呢?
这样是把整形隐式转换为float类型,不损失精度的。
你的第二个问题应该和浮点数的存储有关系。应该是从计算机出生以后就存在了。
hawk234
2005-07-31
打赏
举报
回复
up
混_混
2005-07-31
打赏
举报
回复
对于第一个问题我还想问一下,就是为什么写成
float x1=3
你这样不加F,也可以通过编译呢?
okyzx
2005-07-31
打赏
举报
回复
转MSDN
默认情况下,赋值运算符右侧的实数被视为 double。因此,应使用后缀 f 或 F 初始化浮点变量,例如:
float x = 3.5F;
如果在以上声明中不使用后缀,则将因为试图将一个 double 值存入 float 变量而得到一个编译错误。
yitiaoming2003
2005-07-31
打赏
举报
回复
1.F是代表float的意思3.0f表示float类型意思。
2.float转double就是不精确的转换。所以后边的尾数都是不精确的。
关于这些搂主不必太计较,多看点将思想的书,笔者些强。
okyzx
2005-07-31
打赏
举报
回复
第二个是float和double精度的问题
okyzx
2005-07-31
打赏
举报
回复
第一个问题:因为你如果要表示是float常量,一定要在后面加一个f或者F,不然就被认为是double
就好像是字符串加""一样
C#
显式类型与
隐式
转换
笔记,csdn搜可以搜到,自己的总结。
C#
中的explicit和implicit了解一下吧(自定义强制
转换
、
隐式
转换
).txt
C#
中的explicit和implicit了解一下吧(自定义强制
转换
、
隐式
转换
).txt
微信支付
C#
版v2.0_JSAPI支付支付
微信支付系列课程将讲解“刷卡... 针对每个支付技术点课程给出“1分钟部署”和“详细讲解”的听课方式。 学习有技术
问题
请qq2326321088 建议在学习微信支付的同学具有“微信服务号”和“微信企业号”的技术基础。
c#
类型
转换
在C#中,可将一个对象
隐式
转换
为它的基类型,将对象
转换
成派生类型需要显示
转换
。例: object o = new Emplee(); Emplee e = (Emplee)o; 但是如果将一个对象
转换
成自己的派生类型是,会运行时报错: object o = ...
implicit关键字做自定义类型
隐式
转换
的方法
在
C#
中,implicit关键字可以用来做自定义类型
隐式
转换
。下面给个例子来说明。 定义一个Point类,表示一个点: 代码如下: public class Point { public double X { get; set; } public double Y { get; set;...
C#
110,545
社区成员
642,581
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章