C++的 int 转 double 类型

2021-07-02 12:07:14 +08:00
 pkookp8
```
int ia = x;
int ib = y;
double da = ia + ib;
double db = ia * 1.0 + ib;
double dc = (double)ia + ib;
```
这三种类型转化有什么区别吗
600 次点击
所在节点    问与答
5 条回复
AoEiuV020
2021-07-02 12:10:32 +08:00
回字的四种写法?
跑一遍看看结果大概有个数就好,
AoEiuV020
2021-07-02 12:11:52 +08:00
等下你这先转成了整数再计算的,这怎么转结果都一样,除非涉及溢出,
pkookp8
2021-07-02 12:14:04 +08:00
@AoEiuV020 看到很多人会*1.0,又有人不写,觉得好奇
AoEiuV020
2021-07-02 12:26:42 +08:00
@pkookp8 目的就是转成 double,以便确保后续计算都是在 double 间进行的,
一个是能避免数据太大整形溢出,一个是避免整数除法自动忽略了小数结果,
至于 (double)ia,不觉得丑吗?而且不好输入,
hyrious
2021-07-02 14:00:51 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/787108

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX