我正在将textfield的值与99999999进行比较,并根据结果表现不同。
最后我发现integerValue或doubleValue方法返回正确的值, 但谁可以解释我为什么?为什么floatValue在这里是100000000?是不可预测的?
感谢您的提前时间。
答案 0 :(得分:0)
浮点数在计算机硬件中表示为基数2(二进制)分数。
大多数小数部分不能完全表示为二进制分数。结果是,通常,您输入的十进制浮点数仅通过实际存储在机器中的二进制浮点数近似。
您可以参考以下文档:http://www.c64-wiki.com/index.php/Floating_point_arithmetic