float 单精度浮点 32bit,
double 双精度浮点64bit,
decimal是高精度 128bit,浮点型。
float double 是 基本类型(primitive type),decimal不是。
float 有效数字7位,范围 ±1.5 × 10E−45 to ±3.4 × 10E38
double 有效数字15/16 位,范围 ±5.0 × 10 E−324 to ±1.7 × 10E308
decimal 有效数字 28/29 位,范围 ±1.0 × 10E−28 to ±7.9 × 10E28
( E -- 下接几次方)
decimal的有效位数很大,达到了28位,但是表示的数据范围却比float和double类型小。
使用的时候会对计算时的性能有影响。
常数写法:
float f = 12.3F; (带F)
double x=12.3; (不带就是double)
decimal d = 12.30M; (带M)
浮点数运算会有精度损失问题,有精度损失时程序不会报告,要程序员自己注意。
C#中decimal,double和float的区别
最新推荐文章于 2024-08-11 18:40:32 发布
本文介绍了C#中decimal、double和float三种浮点数类型的区别。decimal提供最高的精度(28-29位),但数据范围较小;float是32位,有效数字为7位;double作为64位类型,有15/16位精度。虽然decimal适合需要精确计算的场景,但其运算性能相对较低。在定义数值时,需通过F、M符号指定类型,要注意浮点数运算可能存在的精度损失问题。
摘要由CSDN通过智能技术生成