当前位置:  开发笔记 > 编程语言 > 正文

将int64_t转换为double

如何解决《将int64_t转换为double》经验,为你挑选了2个好方法。



1> Tom..:

使用static_cast作为strager答案.我建议不要使用隐式转换(或者甚至是C++源代码中的C风格转换),原因如下:

隐式强制转换是编译器警告的常见来源,这意味着您可能会在构建中添加噪声(现在或稍后添加更好的警告标志时).

你身后的下一个维护程序员会看到隐式演员,需要知道它是故意行为还是错误/错误.这样static_cast可以使您的意图立即变得明显.

static_cast而其他C++风格的演员阵容很容易grep处理.


关于"意图":特别是当赋值远离d的声明时,static_cast 违反了DRY.d = static_cast (a)在这方面更好,但后来我失去了生活的意愿,并且可能d = a毕竟会更好;-)

2> strager..:

您应该使用static_cast或依赖隐式强制转换:

int64_t a = 1234;
double d = static_cast(a);
double f = a;

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有