共用方式為


modf modff

此方法分割成小數為浮點數值和整數部分。

double modf(
   double x,
   double *intptr 
);
float modf(
   float x,
   float *intptr
);  // C++ only
long double modf(
   long double x,
   long double * intptr
);  // C++ only
float modff(
   float x,
   float *intptr 
);

參數

  • x
    浮點值。

  • intptr
    預存的整數部分的指標。

傳回值

這個函式傳回的帶正負號的小數部分的 x。 沒有任何錯誤傳回。

備註

modf函式會將浮點值分解 x 成小數和整數部分,每一個都有相同的簽章,為 *x.*的帶正負號的小數部分的 x 會傳回。 整數部分會儲存成浮點數的值,在 intptr。

modf已使用資料流 SIMD 延伸模組 2 (SSE2) 的實作。 請參閱 _set_SSE2_enable 的資訊,並使用 SSE2 實作的限制。

C + + 允許多載化,因此您可以呼叫多載的modf。 在某 c 程式, modf一律接受兩個雙精度浮點數值,並傳回雙精度浮點數值。

需求

常式

所需的標頭

modf, modff

<math.h>

其他的相容性資訊,請參閱相容性在簡介中。

文件庫

所有版本的 C 執行階段程式庫

範例

// crt_modf.c

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x, y, n;

   x = -14.87654321;      /* Divide x into its fractional */
   y = modf( x, &n );     /* and integer parts            */

   printf( "For %f, the fraction is %f and the integer is %.f\n", 
           x, y, n );
}

Output

For -14.876543, the fraction is -0.876543 and the integer is -14

.NET Framework 對等用法

請參閱

參考

浮點支援

長雙

frexp

ldexp