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