浮点数分两部分存储:尾数和阶码(指数部分)
表示尾数的位数多则精度高
表示指数的位数多则范围大
double虽然64位,但其精度低,故其可以表示的范围大
decimal虽然是128位,但由于其用了较多的位来表示其精度,只好牺牲表示范围了.
这是MSDN上的解释,供参考:
Double 值类型表示一个值介于 -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字,以及 +0 或-0、PositiveInfinity、NegativeInfinity 和非数字 (NaN)。Double 符合二进制浮点算法的 IEC 60559:1989 (IEEE 754) 标准。
decimal 关键字表示 128 位数据类型。同浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算
double decimal 区别
最新推荐文章于 2024-03-26 09:22:38 发布