1
我想获得integer part
的double
。但是,这种方式不适合我的工作:优雅的方式是否存在将双重转换为长的优势?
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 - > 341亿
- 19.999999999 - > 19
- -10.1 - > - 10
- -0.0000001 - > 0
是否有一些美丽的方式来完成我的任务?
你说的是将包含浮点数的字符串转换为long long或实际的double变量吗? – Columbo 2014-11-04 22:04:30
@Columbo,其实我有双重变数。但是,如果你需要投双 - >字符串 - > long long,那也是好的。 – Denis 2014-11-04 22:05:44
XY问题?电子记号为什么重要? – cppguy 2014-11-04 22:06:43