社区
语言基础/算法/系统设计
帖子详情
关于integer和double混合运算的问题
搞定Delphi
2011-12-01 02:24:14
新手学delphi,遇到问题了,大大们帮帮忙吧~!!
var
a,b,c:integer;
d:Double;
Begin
a:=b-c*d;
End;
编译时出错,请教高手们如何解决呢,如果用Round去四舍五入的话会降低精度,有没有更好的方法啊,谢谢大家了,不知道半夜了坛子里还有人吗,如果可以解决此问题的高手白天看到,麻烦也帮帮忙吧,谢谢啦~~!!
...全文
506
8
打赏
收藏
关于integer和double混合运算的问题
新手学delphi,遇到问题了,大大们帮帮忙吧~!! var a,b,c:integer; d:Double; Begin a:=b-c*d; End; 编译时出错,请教高手们如何解决呢,如果用Round去四舍五入的话会降低精度,有没有更好的方法啊,谢谢大家了,不知道半夜了坛子里还有人吗,如果可以解决此问题的高手白天看到,麻烦也帮帮忙吧,谢谢啦~~!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
babydog01
2011-12-01
打赏
举报
回复
Begin
a:=b-c*d;
End;
你的这个b-c*d肯定会产生小数,而你的a则是一个整型的数,所以前后会矛盾的。
解决方法:
1、把a 变成有小数的变量。
2、把C*D取整处理变成整数也可以。
funxu
2011-12-01
打赏
举报
回复
double和float 本身的存储方式决定了他不会精确的,经常出现.9999之类的问题,所以才要用四舍五入或者其他运算方法来弥补这个问题,这点在使用前就应该有所觉悟滴,不要妄想有一种完美的精度解决方案,只有最适合你的精度解决方案,另外不要被C#里的decimal忽悠了,那玩意为了精确,占用了16个字节
lhy
2011-12-01
打赏
举报
回复
把b和c转换成double
a如果要求精度就直接定义成double
hongss
2011-12-01
打赏
举报
回复
去看看integer,single,double等等类型的范围。。。
csn168
2011-12-01
打赏
举报
回复
[Quote=引用 2 楼 bdmh 的回复:]
都用double
[/Quote]
对,将原来定义为Integer类型的改为Double类型就解决了,不存在四舍五入的问题
bdmh
2011-12-01
打赏
举报
回复
都用double
kaikai_kk
2011-12-01
打赏
举报
回复
为什么不全部定义为integer或者double类型?
搞定Delphi
2011-12-01
打赏
举报
回复
OK了 ,感谢各位,结贴啦
Matlab与C语言在不同类型数据
混合
运算
时的差异
目的:比较Matlab和C语言在进行不同类型数据
混合
运算
时的差异 以典型情形
Double
Single
混合
运算
为例 Matlab:
Double
Single
运算
,
运算
结果为Single类型,且是在
运算
结束后将
Double
转Single换。 C:
Double
Single
运算
,
运算
结果为
Double
,且是在
运算
开始前将Single转
Double
。 %%验证
double
和single进行
运算
时,是先将操作数转single在
运算
,还是先
运算
再将结果转成single。 %%C语言往高精度转,
混合
运算
前先转 %%Ma
用java实现计算器四则
运算
以及
混合
运算
贴代码 本例测试是基于junit ,eclipse可安装对应 的java包 我用的是idea,添加插件即可 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class Calculator { public
double
add(String a, String b) { do
第四幕:C语言基础篇之不同类型数据间的
混合
运算
(隐式类型转换(整数提升、算数转换、整数浮点数转换、赋值转换)、显示类型转换(语法、目的、数据的丢失和溢出、指正类型转换、使用建议))
1.隐式类型转换是C语言中的一种自动转换机制,用于确保表达式中的操作数具有相容的类型,以便进行
运算
。它包括整数提升、算术转换、整数转浮点数转换和赋值转换等规则。了解这些隐式类型转换的规则对于编写正确的程序至关重要,可以避免一些类型不匹配导致的错误和意外行为。2.显示类型转换是一种由程序员明确指定的转换,用于将一个数据类型转换为另一个数据类型。它可以在满足特定需求时提供灵活性和控制力,但同时也可能导致数据的丢失或截断。因此,在进行类型转换时,必须谨慎处理,并确保转换的结果符合预期。
精确
运算
避免使用float和
double
1. 概述 float和
double
类型的主要设计目的是为了科学计算和工程计算。它们执行二进制浮点
运算
,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。float和
double
类型对于货币计算尤为不合适,因为要让一个float或者
double
精确地表示0.1(或者10的任何负数次方值)是不可能的,比如Sys...
VB语言编写计算器(
混合
运算
),C#同理
VB语言编写的可实现四则
混合
运算
的计算器,讲述了大体的思路写法,C#通用
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章