|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
.NET专区
→
『 C# 论坛 』
→ 请教一个简单的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
620
人关注过本帖
标题:
请教一个简单的问题
只看楼主
加入收藏
hainandgm
等 级:
侠之大者
威 望:
3
帖 子:111
专家分:475
注 册:2007-6-21
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:8
请教一个简单的问题
各位好,请教一个问题:
double d = 1001389.58 + 123456.78;
d=?,为什么?请详解,谢谢!
搜索更多相关主题的帖子:
double
2010-12-23 18:01
举报帖子
使用道具
赠送鲜花
qq1023569223
来 自:湖南科技大学
等 级:
贵宾
威 望:
26
帖 子:2753
专家分:13404
注 册:2010-12-22
第
2
楼
收藏
得分:5
using System;
namespace c1
{
class MyClass
{
public static void Main()
{
double d = 1001389.58 + 123456.78;
Console.WriteLine(d);
Console.ReadKey();
}
}
}
//结果是1124846.36
我开始还怀疑这里面有什么误会。运行一下,原来就是直接相加呢。小数位应该没有超出double输出的默认个数。
唯实惟新 至诚致志
2010-12-23 19:53
举报帖子
使用道具
赠送鲜花
liubaoen
等 级:
论坛游侠
帖 子:104
专家分:117
注 册:2006-6-12
第
3
楼
收藏
得分:5
没有搞清楚你的问题是什么,我把你的代码测试了一下,
double d = 1001389.58 + 123456.78;
输出是正确的结果啊,即:1124846.36
没有问题。
2010-12-23 20:16
举报帖子
使用道具
赠送鲜花
hainandgm
等 级:
侠之大者
威 望:
3
帖 子:111
专家分:475
注 册:2007-6-21
第
4
楼
收藏
得分:0
非常感谢楼上的回答,如果在"Console.WriteLine(d);"设一个断点,你再看看局部变量窗中d的值是多少,或者把d值与1124846.36做个比较,看看结果是否为真?
2010-12-23 20:20
举报帖子
使用道具
赠送鲜花
c1_wangyf
等 级:
小飞侠
威 望:
7
帖 子:665
专家分:2832
注 册:2010-5-24
第
5
楼
收藏
得分:10
的确,在计算后d和1124846.36有一点差异,主要是d是double类型,小数点后面保留的位数比较多?!
2010-12-23 21:23
举报帖子
使用道具
赠送鲜花
hainandgm
等 级:
侠之大者
威 望:
3
帖 子:111
专家分:475
注 册:2007-6-21
第
6
楼
收藏
得分:0
到现在我也不是很清楚,应该是double类型的原因吧.
由于它的取值范围大,但是它存在精度损失,因此使用double类型的算数运算和赋值运算的结果在不同的平台上可能稍微不同.
所以在PC项目或MCU项目中我尽可能避免使用double类型,用int/long类型或decimal类型来替换运算.
我希望在这里能得到更好的理解,谢谢各位.
2010-12-24 09:14
举报帖子
使用道具
赠送鲜花
c1_wangyf
等 级:
小飞侠
威 望:
7
帖 子:665
专家分:2832
注 册:2010-5-24
第
7
楼
收藏
得分:0
是的,在不同的情况下使用不同的数据类型,所以有(int,float,char。。。)这么多类型存在
2010-12-24 09:26
举报帖子
使用道具
赠送鲜花
hainandgm
等 级:
侠之大者
威 望:
3
帖 子:111
专家分:475
注 册:2007-6-21
第
8
楼
收藏
得分:0
我之前没有发现过这种情况,最近在算数运算中发现的,后来采用了其它方式解决了问题,可我还是想在这里得到一些理解,谢谢!
2010-12-24 10:11
举报帖子
使用道具
赠送鲜花
q642507
来 自:山西运城
等 级:
新手上路
帖 子:12
专家分:6
注 册:2010-12-23
第
9
楼
收藏
得分:0
今天长见识了!
超越自己!
2010-12-24 11:50
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
请教一个简单的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.030073 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved