社区
Delphi
帖子详情
将double数乘1000后,怎么少了1。
willcheng
2005-07-06 03:03:08
double a = 47.4;
int b = a * 1000;
在个别机器上发现
b == 47399
怎么回事?
...全文
264
8
打赏
收藏
将double数乘1000后,怎么少了1。
double a = 47.4; int b = a * 1000; 在个别机器上发现 b == 47399 怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dididadayi
2005-07-07
打赏
举报
回复
因为a=47.399啊
hanlin2004
2005-07-07
打赏
举报
回复
浮点数不准确
willcheng
2005-07-07
打赏
举报
回复
为什么是47.399?
Kshape
2005-07-06
打赏
举报
回复
哈哈
这个回复好
因为a=47.399啊
-----------------------
你定义的是double
flexitime
2005-07-06
打赏
举报
回复
你写的是什么程序啊!!C 还是 Delphi?
不过
无论 C 或是 Delphi 都会有浮点问题。一般来说,对于大部份的浮点数,在PC机中是不能精确地表示出来的。你可以看看 《Computer Systems A Programmer's Perspective》《深入理解计算机系统》,这本书说得十分清楚
何鲁青
2005-07-06
打赏
举报
回复
你用的是C的语法,在Delphi中
int b = a * 1000;
这句话
b:=a*1000;
编译就会报错的,你不可能把一个double类型的数据赋值给一个整形数
merkey2002
2005-07-06
打赏
举报
回复
在delphi里,这样是不能通过编译,
改成这样才行。
b:=round(a*1000);
Eastunfail
2005-07-06
打赏
举报
回复
因为a=47.399啊
又是
double
精度问题
由于历史, 项目中使用的
double
有位大哥使用了
double
*100 public static void main(String[] args) {
double
a = 152.70; System.out.println(a); System.out.println(a * 100);//15280.000000000002 System...
c语言占八个字节的浮点数是,『
double
转八字节十六进制』
double
占8字节 一个数字占1字节 为什么能精确16位 我觉得只有8位,,,...
C# 的
double
类型的10进制 转化成 字符串的 2进制和16进制的问题先转换成字组,然后再转成2进制和16进制格字符串XSf道家风水传承网
double
x=3.14d;XSf道家风水传承网XSf道家风水传承网//先转换为字节数组XSf道家风水...
MySQL中我们应该如何选择Float,
Double
,Decimal?
选择float或者
double
或者decimal有时候也要看场景,比如我们可以用
double
存储一个小商铺的季度营业额(几千万),单独用
double
存储的时候没有问题,当多个季度,多个年份算总3年内的营业额是,就会出现问题,再也算...
C中
double
到int的转换、四舍五入
在一般的PC平台下sizeof(
double
)=8,
谈谈MySQL如何选择float,
double
, decimal
谈谈MySQL如何选择float,
double
, decimal
Delphi
5,379
社区成员
262,722
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章