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