社区
C++ 语言
帖子详情
double类型转换int类型时精度丢失
guoyabin2000
2006-11-03 02:00:25
问题如下:
double x, y;
DWORD a;
x = 4.0;
y = 0.01;
a = x / y;
执行完后a是399,我需要得到400。我需要怎样做?
各位大侠帮忙啊!很急,在线等
...全文
528
12
打赏
收藏
double类型转换int类型时精度丢失
问题如下: double x, y; DWORD a; x = 4.0; y = 0.01; a = x / y; 执行完后a是399,我需要得到400。我需要怎样做? 各位大侠帮忙啊!很急,在线等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dfkoko
2006-11-03
打赏
举报
回复
double x, y;
double a;
x = 4.0;
y = 0.01;
a = x / y;
a=400
pcboyxhy
2006-11-03
打赏
举报
回复
二进制方式的浮点数表示不是精确的
很多数在计算机里面无法使用二进制浮点数计数法表示出来
比如5.1
OOPhaisky
2006-11-03
打赏
举报
回复
同意taodm(taodm) 的做法,跟浮点数打交道,要小心,还要学会忍耐^_^
femalelover
2006-11-03
打赏
举报
回复
标记
KenYuan2016
2006-11-03
打赏
举报
回复
四舍五入吧
a = x / y; 改为 a =( x / y + 0.5);
Macor
2006-11-03
打赏
举报
回复
用的是vc7???
看下环境变量你是怎么设的,或者直接开个console再试一把
我试了把
double x, y;
DWORD a;
x = 4.0;
y = 0.01;
a = x / y;
----------------
a = 400
weijiangshanwww
2006-11-03
打赏
举报
回复
比如说4/0.001
你可以先变成4/1=4
然后你移回来3位,就是4000了,
反正大概的思想了!
weijiangshanwww
2006-11-03
打赏
举报
回复
double x, y;
DWORD a;
x = 4.0;
y = 0.01;
a = x / y;
===========================
那你试着移位,然后计算,再移位回来。
asusa3a
2006-11-03
打赏
举报
回复
既然涉及到精度问题,怎么还这么做?为啥不另起方法?
guoyabin2000
2006-11-03
打赏
举报
回复
谢谢楼上的帮忙,还有没有其他的办法了?
C语言里有没有像Delphi里的Trunc和round的函数
taodm
2006-11-03
打赏
举报
回复
没办法确保!
a = x /y + 0.5;会让你好过点。
也许,你使用double本来就是个错误。
计算机只保证(小)整数运算是精确的。
hourui
2006-11-03
打赏
举报
回复
四舍五入吧
a = x / y; 改为 a =( x / y + 0.5);
double
类型
精度
丢失
;
double
转换到64位整数
//将
double
类型
转为_
int
64,防止
精度
1
丢失
//将
double
类型
转为_
int
64,防止
精度
1
丢失
如何在Java中将
double
转换为
int
?
在本文中,我们将看到如何将
double
转换为
int
。 在Java编程中,您将有一个
double
原语值...1,将
double
转换为
int
—使用
类型
转换
2,将
double
转换为
int
—使用 Math.round() 3,将
double
转换为
int
—使用
Double
.
Int
Value
MySQL 数据
类型
和运算符
Re: MySQL 数据
类型
和运算符 ============================= # 数据
类型
整数
类型
:五种 TINY SMALL MEDIUM
INT
BIG 浮点和定点小数
类型
:三种 FLOAT
DOUBLE
DECIMAL 日期与
时
间数据
类型
:五种 YEAR -1 字符串
类型
...
double
类型
转
int
类型
,
精度
丢失
的问题
碰到一个问题,就是
double
类型
在进行降级强转
int
类型
的
时
候,发生了
精度
丢失
。先来看一下现象 比如
double
num1 = 49.99;
int
num2 = (
int
)(num1 *100); 输出后,num2 等于 4998 但是在num1 等于49.97或49....
java
类型
值转换有效数字,java数据
类型
转换
之
Double
类型
转换
为
Int
类型
,不
丢失
小数点后面的值...
java数据
类型
转换
之
Double
类型
转换
为
Int
类型
,不
丢失
小数点后面的值在android开发过程中我们常常遇到数据
类型
的转换,其中
double
转
int
类型
是最常见的方法一:强制转换
int
i ;
double
db;i = (
int
) db;这种方法会
丢失
...
C++ 语言
64,651
社区成员
250,488
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章