黑马程序员技术交流社区

标题: 黑马程序员-double和decimal [打印本页]

作者: 蓝汝逸    时间: 2012-3-30 18:51
标题: 黑马程序员-double和decimal
请问double和decimal两者间有什么区别和联系?能否举个例子?随便问一下这个decimal怎么读啊??
作者: 张恒    时间: 2012-3-30 19:13
double和decimal都是浮点型的数据类型。只是它们精确到小数点后的位数不同而已。具体情况具体分析。decimal读做(带瑟某)
作者: 朱学田    时间: 2012-3-30 21:17
除了有效数字和小数位数区别之外,其他只是double后加个m就是decimall
作者: 徐刚    时间: 2012-3-30 22:27
都表示浮点型数据,不过表示的范围和精度不一样,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类型是一丢失精度来换取大的取值范围。
作者: 张静慈    时间: 2012-3-31 09:50
decimal类型用来表示高精度的浮点数,decimal的有效位数很大,达到了28位
decimal所能储存的数比double大,从double到decimal的类型转换不会出现任何问题。

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

读法:['desiməl]
作者: 李志祥    时间: 2012-3-31 10:12
double,范围decimal大,不过是15或16位有效数字,后面的精度丢失;
decimal,范围比double小,但是28或29位有效数字,精度更高,适合于财务或货币计算。
作者: 韩艳君    时间: 2012-3-31 14:08
举个例子:
如果你现在有现金: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位
作者: 孙树迁    时间: 2012-3-31 14:44
首先对楼主说:你没有看C#基础教程视频中的基础视频, NET编程基础 ,老师讲的那么生动有趣啊

读法
http://www.iciba.com/decimal




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2