共用方式為


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 會使用 Streaming SIMD Extensions 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