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(表示小于) 


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

BOOL,int,float,指针变量 与“零值”比较的if语句

以下摘自《林锐-高质量c++c编程指南》 /*   ------------------------------------------------------------------------...

零值比较之BOOL int float 指针

这是程序员面试的一道常见题,也是个C++基础问题。若只在大学里看过几本基础的编程入门书,看见这道题可能会觉得奇怪,不就是和0比较吗,直接拿出来比就是了,其实非也。下文引自google搜索结果,出处不详...

BOOL,int,float,指针变量 与“零值”比较的if语句

以下摘自《林锐-高质量c++c编程指南》  /*   -------------------------------------------------------------------------...

float类型,bool类型的比较

1 float 和 0 比较 if(x-0.000001)   //因为float是6位精度的,double是10位,long double 也是10位 这也是一些大众的答案,但是还是有些疑问,没...

float double的精度以及与0比较

float与double的范围和精度 1. 范围   float和double的范围是由指数的位数来决定的。   float的指数位有8位,而double的指数位有11位,分布如下:   float...

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

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

写出float x 与“零值”比较的if语句——一道面试题分析

写出float  x 与“零值”比较的if语句 请写出 float  x 与“零值”比较的 if 语句:  const float EPSINON = 0.00001;  if ((x >=...

BOOL,int,float,指针变量 与“零值”比较的if语句

以下摘自《林锐-高质量c++c编程指南》  /*   ------------------------------------------------------------------------...

写出float x 与“零值”比较的if语句——一道面试题分析

写出float  x 与“零值”比较的if语句 请写出 float  x 与“零值”比较的 if 语句:  const float EPSINON = 0.00001;  if ((x >=...

float类型与0比较详解

我们先看一段程序: # include using namespace std; void main() { float a = 1.0...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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