A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蓝汝逸 黑马帝   /  2012-3-30 18:51  /  2698 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问double和decimal两者间有什么区别和联系?能否举个例子?随便问一下这个decimal怎么读啊??

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

7 个回复

倒序浏览
double和decimal都是浮点型的数据类型。只是它们精确到小数点后的位数不同而已。具体情况具体分析。decimal读做(带瑟某)

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
除了有效数字和小数位数区别之外,其他只是double后加个m就是decimall

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
都表示浮点型数据,不过表示的范围和精度不一样,double的范围大约是±5.0×10<sup>-324</sup>到±1.7×10<sup>308</sup>,精度是15到16位,而decimal的范围±1.0×10<sup>-28</sup>到±7.9×10<sup>28</sup>,精度是28到29位。所以在实际应用中,就用decimal类型来表示财务和货币计算,因为要求精度高。不像double类型是一丢失精度来换取大的取值范围。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
decimal类型用来表示高精度的浮点数,decimal的有效位数很大,达到了28位
decimal所能储存的数比double大,从double到decimal的类型转换不会出现任何问题。

而decimal转换double,会报错,因为会损失精度。必须要进行强制转换   

读法:['desiməl]
回复 使用道具 举报
double,范围decimal大,不过是15或16位有效数字,后面的精度丢失;
decimal,范围比double小,但是28或29位有效数字,精度更高,适合于财务或货币计算。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
举个例子:
如果你现在有现金:9876 5432 1012 3456 7890 1234 5678元
如果你存为double类型的,则最后只能显示9876 5432 1012 3460 0000 0000 0000,
请问6 7890 1234 5678这么多钱哪里去了,
没错,double类型的范围比decimal的范围大,但是,它们的有效位不一样,double的有效位是15、16位,
而decimal的有效位是28、29位

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
首先对楼主说:你没有看C#基础教程视频中的基础视频, NET编程基础 ,老师讲的那么生动有趣啊

读法
http://www.iciba.com/decimal
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马