黑马程序员技术交流社区

标题: 关于数据类型float、double、decimal [打印本页]

作者: 张俊双    时间: 2012-10-16 21:26
标题: 关于数据类型float、double、decimal
三者都是表示带小数的,有什么区别吗
作者: 李辰东    时间: 2012-10-17 04:35
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)

double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)

decimal:数字型,128bit,不存在精度损失(相对不存在,28个有效位后会报错),常用于银行帐目计算。(28个有效位)



float f = 345.98756f;//结果显示为345.9876,只显示7个有效位,对最后一位数四舍五入。

double d=345.975423578631442d;//结果显示为345.975423578631,只显示15个有效位,对最后一位四舍五入。

decimal dd=345.545454879.....//可以支持28位,对最后一位四舍五入。因为高精度,28位的有效位数,这才是财务计算中使用的最主要原因。

  
所有浮点数计算都有精度损失问题,而decimal同样是浮点数,所以同样有精度损失!
  

作者: chens2865    时间: 2012-10-23 10:56
精度不同;float,浮点类型,包含4个字节。数值范围为-3.4E38~3.4E38(7个有效位).
double,双精度类型,含字节数为8。数值范围-1.7E308~1.7E308(15个有效位).
decimal,数字型,28个有效位。精度更高。




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