Java 中的数值与对象比较及条件运算符使用
1. 比较浮点型数字
1.1 浮点数存储问题
Java 中的 float 和 double 类型采用 IEEE 754 标准格式存储。由于使用有限的位数(32 位或 64 位)来存储浮点数,并非所有现实世界中的值都能精确表示。因此,在进行算术运算时,可能会引入微小的舍入误差。所以,不建议直接使用相等运算符( == )来比较浮点数。
1.2 示例分析
以下是使用相等运算符比较浮点数的示例代码:
/* Using equality operators on floating-point
numbers
Anderson, Franceschi
*/
public class EqualityFloatingPoint
{
public static void main( String [ ] args )
{
// Part 1: Compute 11 * .1 two ways
double d1 = .0; // add .1 to 0 eleven times
d1 += .1; // 1
d1 += .1; // 2
d1 += .1; // 3
d1 += .1; // 4
d1 += .1; // 5
d1 += .1; // 6
超级会员免费看
订阅专栏 解锁全文
1662

被折叠的 条评论
为什么被折叠?



