float数据 与 double数据相乘时,结果转成int时会出现错误
来源:互联网 发布:net和java有什么区别 编辑:程序博客网 时间:2024/06/05 08:23
问题描述:
环境:vc6.0单文档
情况1、 错
double h = 10.0f;
float d = 100.1f * h;
int c = int(d);
输出结果:h=10.0
d=1001
c=1000
情况2、 错
double h = 10.0f;
float d = 100.2f * h; // 这里有变化
int c = int(d);
输出结果:h=10.0
d=1002
c=1001
情况3、 正确 3到9
double h = 10.0f;
float d = 100.3f * h; // 这里有变化
int c = int(d);
输出结果:h=10.0
d=1003
c=1003
过程:
在错误时,回去查看 d 的值为:100.099999
解决:
在float d = 100.3f * h; 与句后加条哑语句(无用的语句),如:int a 0;
导致原因,尚不清楚,求解
- float数据 与 double数据相乘时,结果转成int时会出现错误
- double 转成 float 时,数据会丢失
- Java double float与int相乘出错问题
- Double转BigDecimal进行四舍五入操作时会出现数据损失
- 打印数据的二进制格式 float double int char long
- int long longlong float double类型数据的范围
- C/C++ 数据范围(int ,char long, float,double)
- 关于int,float,double与Integer、Float、Double的理解
- C语言中的printf用%d输出float类型数据出现或以%f输出int型数据的结果为什么是0
- 转:C语言中的printf用%d输出float类型数据出现或以%f输出int型数据的结果为什么是0
- C语言中的printf用%d输出float类型数据出现或以%f输出int型数据的结果为什么是0
- c语言中int与float数据运算时,数据转换问题
- int类型定义,float、double类型引用造成的结果
- 使用检查数据(int,double,float等)溢出,并抛出异常
- C++ bool,char,short,int,long,float,double数据类型大小以及数据溢出值求解
- int float double BigDecimal
- float转成4字节的二进制数据
- 求助: vb 数据转成 float 方法
- 动态库(.so)
- 为什么要使用接口 ? 研发的那些事3--接口之本
- ios中UIImageView展现图片的不同处理方式
- ADT-20 问题 android support library
- 多队列网卡简介
- float数据 与 double数据相乘时,结果转成int时会出现错误
- 内核与驱动移植记录
- 吐槽一下原来的公司
- Android实现单线程异步多文件下载的代码
- 一致性代码段和非一致性代码段
- INPUT驱动
- 架构师的大局观
- 有关nginx rewrite模块的问号
- 如何更改Linux(Ubuntu)语言和编码设置