关闭

float型 判断是否相等

515人阅读 评论(0) 收藏 举报
分类:



float 类型不能比较相等或不等,但可以比较>,<,>=,<=


用==从语法上说没错,但是本来应该相等的两个浮点数由于计算机内部表示的原因可能略有微小的误差,这时用==就会认为它们不等。应该使用两个浮点数之间的差异的绝对值小于某个可以接受的值来判断判断它们是否相等,比如用

    if (fabs(price - p) < 0.000001)

来代替

    if (price == p)


摘自论坛

0
0
查看评论

判断两个float或double是否相等

double a, b; ... if(a==b) ...不用考虑初始化的问题哈,此处不是说明那个问题。不能直接 if(a==b)而是要equal(a,b)equal 函数自己写public boolean equal(double a, double b) { ...
  • bug_moving
  • bug_moving
  • 2017-02-08 15:12
  • 3673

Java float型数据判断是否相等

Java float型数据判断是否相等 计算机表示浮点数(float或double类型)都有一个精度限制,对于超出了精度限制的浮点数,计算机会把它们的精度之外的小数部分截断。因此,本来不相等的两个浮点数在计算机中可能就变成相等的了。例如: float a=10.222...
  • evilcry2012
  • evilcry2012
  • 2017-05-24 09:18
  • 741

浮点数的相等比较

浮点数的相等比较今天群里边一哥们儿——哦,确切地说,应该是一姊妹——问到了Python中怎样判断一个浮点数的小数部分是不是0,本意是要找和C语言中的fmod函数相同功能的函数的,在Python中在math模块中有这个函数,可是却挑起了一个浮点数精度的话题。突然想到偶们学习C语言的时候老师讲到过,整数...
  • sharkw
  • sharkw
  • 2007-12-14 23:27
  • 17112

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

float 型: 占 4 字节,7 位有效数字 double 型:占 8 字节,15~16 位有效数字 浮点数的表示是不精确的,float 和 double 都不能保证可以把所有实数都准确的保存在计算机中。测试例子如下: [cpp] v...
  • zy986718042
  • zy986718042
  • 2017-05-24 22:03
  • 2283

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

浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。所以浮点数在运算过程中通常伴随着因为无法精确表示而进行的近似或舍入。但是这种设...
  • cbNotes
  • cbNotes
  • 2014-08-29 10:12
  • 18279

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

浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。所以浮点数在运算过程中通常伴随着因为无法精确表示而进行的近似或舍入。但是这种设...
  • u012861978
  • u012861978
  • 2016-03-09 15:32
  • 5522

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

浮点数的表示是不精确的,float 和 double 都不能保证可以把所有实数都准确的保存在计算机中。 由于浮点数的表示是不精确的,所以不能直接比较两个数是否完全相等。一般都是在允许的某个范围内认为某个个浮点数相等,如有两个浮点数a、b,允许的误差范围为 1e-6,则 abs(a-b) <= ...
  • tennysonsky
  • tennysonsky
  • 2015-07-25 16:36
  • 7049

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

浮点数的表示是不精确的,不能直接比较两个数是否完全相等,一般都是在允许的某个范围内认为像个浮点数相等,如有两个浮点数a,b,允许的误差范 围为1e-6,则abs(a-b) float型变量和“零值”比较的方法: const float EPSINON = 0.000001; if ((x &g...
  • u011089523
  • u011089523
  • 2016-03-26 15:34
  • 1495

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

浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。所以浮点数在运算过程中通常伴随着因为无法精确表示而进行的近似或舍入。但是这种设...
  • shinetzh
  • shinetzh
  • 2017-03-28 16:39
  • 639

float型 判断是否相等

float 类型不能比较相等或不等,但可以比较>,=, 用==从语法上说没错,但是本来应该相等的两个浮点数由于计算机内部表示的原因可能略有微小的误差,这时用==就会认为它们不等。应该使用两个浮点数之间的差异的绝对值小于某个可以接受的值来判断判断它们是否相等,比如用 &...
  • threshold1980
  • threshold1980
  • 2016-08-30 22:10
  • 515
    个人资料
    • 访问:21949次
    • 积分:481
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:13篇
    • 译文:0篇
    • 评论:0条
    文章分类