将double数乘1000后,怎么少了1。 double a = 47.4;int b = a * 1000;在个别机器上发现b == 47399怎么回事? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在delphi里,这样是不能通过编译,改成这样才行。 b:=round(a*1000); 你用的是C的语法,在Delphi中int b = a * 1000;这句话b:=a*1000;编译就会报错的,你不可能把一个double类型的数据赋值给一个整形数 你写的是什么程序啊!!C 还是 Delphi?不过无论 C 或是 Delphi 都会有浮点问题。一般来说,对于大部份的浮点数,在PC机中是不能精确地表示出来的。你可以看看 《Computer Systems A Programmer's Perspective》《深入理解计算机系统》,这本书说得十分清楚 哈哈这个回复好因为a=47.399啊-----------------------你定义的是double webbrowser模拟登录如何做 请问从远程服务器上下载文件,用什么控件来编程较为方便? ClientDataSet的奇怪错误 求如何做一个"搜索通"原理或源码均可100分立结! 问大家一个数学的问题 郁闷ing,散20分,凑个整数。 在线等,各位大侠,在MDI窗口中,子窗口在最大化时,怎样去掉子窗口标题栏的图标? 我用QuickRep控件,不用Query控件连接,怎么才能通过循环自己控制报表打印? 在加QuickRep时出现问题? 请教有关托盘图标 两个TMemoryStream比较内容是否相同有现成的比较函数不? 此程序为什么会死机??
改成这样才行。
b:=round(a*1000);
int b = a * 1000;
这句话
b:=a*1000;
编译就会报错的,你不可能把一个double类型的数据赋值给一个整形数
不过
无论 C 或是 Delphi 都会有浮点问题。一般来说,对于大部份的浮点数,在PC机中是不能精确地表示出来的。你可以看看 《Computer Systems A Programmer's Perspective》《深入理解计算机系统》,这本书说得十分清楚
这个回复好
因为a=47.399啊
-----------------------
你定义的是double