1.23456
12.3456
123.456
双精度和单精度的差别
大多数程序员都知道双精度类型容纳的数值要比单精度的大,而双精度的类型同时要求更大的存储空间--即8个字节,而不是4个字节。
双精度和单精度的最大不同之处是数值能够表达的精度。例如,单精度类型的精度被限制为7位;所以,下面这些值都是单精度类型:
1.23
123999
79.098
但是,如果你把123456789保存为一个单精度类型,那么它就会被四舍五入为123456800。类似的,1.23456789会被缩减为1.234568。
相比而言,双精度类型可以实现15位的精度。所以对于需要大量数值计算的程序员来说,就要使用双精度类型,否则精度就会出问题。
注:Visual Basic的帮助文档谈到了一个叫做Decimal的数据类型,它的精度是28位。这听起来很不错,但是不幸的是,它从来都没有被真正实现过。
责任编辑:张琎