黑马程序员技术交流社区
标题:
关于数据类型float、double、decimal
[打印本页]
作者:
张俊双
时间:
2012-10-16 21:26
标题:
关于数据类型float、double、decimal
三者都是表示带小数的,有什么区别吗
作者:
李辰东
时间:
2012-10-17 04:35
floa
t:浮点型,含字节数为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