float的比较要慎重

简介: float的比较要慎重

很多朋程序员也在用float比较,这个要慎重啊。为什么呢?因为float和int不一样。举例来说:

if (value >= 12.0F)
    ......

这看起来是不是很正常?value如果是计算得来的,如果是11.9呢?如果是12.1呢?判断结果是汝期望的?不好说。



怎么办?有几个办法:


转换为int,比如乘上100、1000,这样就万事大吉。

先转成int,再转成float判断。

加一个误差。比如(12.0F-0.1F).。

根据代码调整。


目录
相关文章
|
数据库
设置EntityFramework中decimal类型数据精度问题(EF默认将只会保留到2为精度)
原文:设置EntityFramework中decimal类型数据精度 EF中默认的decimal数据精度为两位数,当我们数据库设置的精度大于2时,EF将只会保留到2为精度。 e.g. 2.19990将会被保存为2.
3019 0
|
5月前
|
Serverless API 网络安全
函数计算操作报错合集之如何解决在cfg_scale参数传入4.5等浮点数时遇到报错
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
5月前
|
存储 编译器 C++
C++从遗忘到入门问题之float、double 和 long double 之间的主要区别是什么
C++从遗忘到入门问题之float、double 和 long double 之间的主要区别是什么
|
5月前
|
存储 SQL 数据库
MySQL设计规约问题之为何推荐用DECIMAL代替FLOAT和DOUBLE来存储精确浮点数
MySQL设计规约问题之为何推荐用DECIMAL代替FLOAT和DOUBLE来存储精确浮点数
|
7月前
|
存储 算法 C++
C++100-C++拓展002-float精度问题
C++100-C++拓展002-float精度问题
float与double精度丢失问题
float与double精度丢失问题
125 0
Live Chart 的数据中含double.NaN时需注意的问题
Live Chart 的数据中含double.NaN时需注意的问题
Live Chart 的数据中含double.NaN时需注意的问题
|
程序员
float的比较要慎重
float的比较要慎重
67 0
GEE基础学习——阈值的设定clamp(下线值,上限值)!
GEE基础学习——阈值的设定clamp(下线值,上限值)!
551 0
GEE基础学习——阈值的设定clamp(下线值,上限值)!