是否存在将双转换为长长的优雅方式
Does elegant way exist to convert double to long long?
我想得到double
的integer part
。但这种方式对我不起作用:
double param, fractpart, intpart;
param = 3.14159265;
fractpart = modf (param , &intpart);
printf ("%f = %f + %f n", param, intpart, fractpart);
这是由于double integer
可能具有e-notation
的事实。例如,3.41e10
是正确的双数。
我的测试用例是:
- 双->长-长
- 234343.0->234343
- 3.41e10->34100000000
- 19.999999999->19
- -10.1->-10
- -0.0000001->0
有什么漂亮的方法来完成我的任务吗?
通过隐式转换截断结果应该可以:
std::cout << (long long)234343.0 << 'n'
<< (long long)3.41e10 << 'n'
<< (long long)19.999999999 << 'n'
<< (long long)-10.1 << 'n'
<< (long long)-0.0000001 << 'n';
应该在您的机器上输出
234343
34100000000
19
-10
0
演示。
相关文章:
- 如何在c++中为模板函数实例创建快捷方式
- 在c代码之间共享数据的最佳方式
- 在C++中将函数压缩为两种方式
- 以螺旋方式打印矩阵的程序.(工作不好)
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 创建引用向量的优雅方式
- Constexpr替代了新的放置方式,可以让内存中的对象保持未初始化状态
- 使用QQuickFramebufferObject时同步数据的最佳方式是什么
- 不同/较旧的处理器运行c++代码的方式是否不同
- 从嵌套在std::映射中的std::列表中删除元素的最佳方式
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 重载方法的方式会在使用临时调用时生成编译器错误
- 在reactor中存储eventHandlers的最佳方式是什么
- 如何以优化的方式同时迭代两个间距不相等的数组
- 以线程安全的方式调用"QQuickPaintedItem::updateImage(const QImage&image)"(no QThread)
- 为什么C++有不同的变量初始化方式?
- 在AVX通道中混洗的最佳方式
- 如何重新定义MPI_FLOAT,MPI_DOUBLE以 typedef 的方式
- 如何以静态代码分析友好的方式使用 #define 防护?
- 是否存在将双转换为长长的优雅方式