Float 比较

原创 2016年05月30日 11:52:18

浮点数的表示是不精确的,不能直接比较两个数是否完全相等,不可将浮点变量用“==”或“!=”与任何数字比较。

Float a = 16.5f;

Float b = 16.5f;
String c = "1";

String d = "1";


System.out.println("a == b:" + (a == b));
System.out.println("a.equals(b):" + a.equals(b));
System.out.println("a.compareTo(b):" + a.compareTo(b));

System.out.println("c == d:" + (c == d));

System.out.println("c.equals(d):" + c.equals(d));


结果为:

a == b:false
a.equals(b):true
a.compareTo(b):0
c == d:true
c.equals(d):true

所以,比较两个Float的值 可以用comparetTo(), 返回值 0 (表示相等),1(表示大于) 和 -1(表示小于) 


由float类型与0比较学习浮点型编码格式

IEEE浮点标准用V=(-1)^s * M * 2^E的形式来表示一个数: (1)符号(sign)s决定数是负数(s=1)还是正数(s=0),而对0的符号位作为特殊情况处理。 (2)有效数...

为何浮点数(float,double)不能直接用等号比较

http://blog.sina.com.cn/s/blog_48d4cf2d0100qzfc.html 很早就听说了这个说法,但一直知其然,不知其所以然。实际编程的时候有些时候记得,有些时候也忘了...

判断两个float变量是否相等以及和 0 值比较方法

float 型: 占 4 字节,7 位有效数字 double 型:占 8 字节,15~16 位有效数字 浮点数的表示是不精确的,float 和 double 都不能保证可以...

深入理解C++浮点数(float、double)类型数据比较、相等判断

浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基...
  • educast
  • educast
  • 2013年04月24日 16:34
  • 10790

float和double两数间比较大小

float类型和double类型的比较学习   这个两种类型可以通过自己定义一个精度,如果两数相减在精度范围类,则可以认为是相等的。     #include #include #inc...

float与double类型区别比较

参考或转自http://topic.csdn.net/u/20090716/10/CE4A7037-3C0D-40AE-AF85-F702C78FCEA3.html 单精度浮点数在机内占4个字节...

深入理解C++浮点数(float、double)类型数据比较、相等判断

浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基...

float型变量和“零值”比较的方法

前一段时间读了一下林锐博士的《高质量C/C++编程指南》,其中有一个比较经典的问题。请写出float x与“零值”比较的if语句? 当时只知道不能直接用float类型的值与0进行“==”或“!=...

分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句

零值比较–BOOL,int,float,指针变量与零值比较的if语句这是程序员面试的一道常见题,也是个C++基础问题。若只在大学里看过几本基础的编程入门书,看见这道题可能会觉得奇怪,不就是和0比较吗,...

float类型与0比较详解

我们先看一段程序: # include using namespace std; void main() { float a = 1.0...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Float 比较
举报原因:
原因补充:

(最多只允许输入30个字)