1

私は を持っていますdouble a=1234.5678。今はなんとかやっていけますが、どうすれば を手に入れることができ1234ますか? を減算できることはわかっていますが、ランタイム ライブラリに関数はありますか?floor(a)0.5678a-floor(a)

4

2 に答える 2

5

modfdouble 値を 2 つの部分に分割する

double param, fractpart, intpart;

param = 3.14159265;
fractpart = modf (param , &intpart);
printf ("%f = %f + %f \n", param, intpart, fractpart);
return 0;

出力: 3.141593 = 3.000000 + 0.141593

含める必要がありますmath.h

http://www.cplusplus.com/reference/cmath/modf/

于 2013-05-13T06:30:28.613 に答える
2

お探しの機能はmodf().

double modf(double x, double *iptr);

このmodf()関数は、引数xを整数部分と小数部分に分割します。それぞれの部分はxと同じ符号を持ちます。整数部分はiptrが指す場所に格納されます。

この関数はxmodf()の小数部分を返します。

于 2013-05-13T06:30:24.890 に答える