| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3911 人关注过本帖
标题:请教double和decimal类型
只看楼主 加入收藏
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:6 
请教double和decimal类型

double类型 范围5*10^-324 ~ 1.7*10^308 有效位 15~16 decimal类型 范围1.0*10^-28 ~ 7.9*10^28 有效位 28~29

我想问为什么double比decimal的范围广,但有效位比decimal少?

搜索更多相关主题的帖子: double decimal 类型 
2004-09-17 18:16
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
顶一下,请回答!
2004-10-02 09:04
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
所以我说吗,基础最重要

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-10-02 09:31
bcomer
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2004-9-13
收藏
得分:0 

re:

我也看书上说:

一个double 类型的变量所表示的数据范围为-5.0*10^-324到1.7*10^308,精确度可达15到16位.

decimal的表示范围还没有float广大约是1.0*10^-28到7.9*10^28 但精确度却可以达到28到29位.

后面还有注意:一个类型的所谓精确度并不是指其小数点后的精确位数,而是整个数字的总位数.

更加不明白,那为什么double 没有decimal精确度高!

2004-10-02 18:40
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
两位高人,knocker没有回答我的问题,基础也要有逻辑合理才能接受啊!
2004-10-06 01:37
adm_qxx
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2005-4-5
收藏
得分:0 
浮点数分两部分存储:尾数和阶码(指数部分)
表示尾数的位数多则精度高
表示指数的位数多则范围大
double虽然64位,但其精度低,故其可以表示的范围大
decimal虽然是128位,但由于其用了较多的位来表示其精度,只好牺牲表示范围了.

学习是进步的基础.
2005-04-05 21:58
adm_qxx
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2005-4-5
收藏
得分:0 

这是MSDN上的解释,供各位参考:

Double 值类型表示一个值介于 -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字,以及 +0 或-0、PositiveInfinityNegativeInfinity 和非数字 (NaN)。Double 符合二进制浮点算法的 IEC 60559:1989 (IEEE 754) 标准。

decimal 关键字表示 128 位数据类型。同浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。


学习是进步的基础.
2005-04-05 22:04
快速回复:请教double和decimal类型
数据加载中...
 
   



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

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