| 全能ASP/PHP/ASP.NET主机,支持月付 | 专业 MSSQL 数据库空间,支持月付 | 专业 MySQL 数据库空间,支持月付 | 学习型 ASP/PHP/ASP.NET 主机 30元/年 |
| 高端软件开发 = 年薪十万不是梦 | 赛孚耐:软件保护加密专家 | 身份认证令牌USB KEY |
re:
我也看书上说:
一个double 类型的变量所表示的数据范围为-5.0*10^-324到1.7*10^308,精确度可达15到16位.
decimal的表示范围还没有float广大约是1.0*10^-28到7.9*10^28 但精确度却可以达到28到29位.
后面还有注意:一个类型的所谓精确度并不是指其小数点后的精确位数,而是整个数字的总位数.
更加不明白,那为什么double 没有decimal精确度高!



这是MSDN上的解释,供各位参考:
Double 值类型表示一个值介于 -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字,以及 +0 或-0、PositiveInfinity、NegativeInfinity 和非数字 (NaN)。Double 符合二进制浮点算法的 IEC 60559:1989 (IEEE 754) 标准。
decimal 关键字表示 128 位数据类型。同浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。
