_fcvt
將浮點數值轉換為字串。更安全版本之這個函式是可使用; see _fcvt_s.
char *_fcvt(
double value,
int count,
int *dec,
int *sign
);
參數
value
以指定須轉換的數字。count
小數點後的位數。dec
預存的十進位小數點位置的指標。sign
與預存的正負號的指標的指標。
傳回值
_fcvt傳回數字的字串,發生錯誤的 NULL 指標。
備註
_fcvt函式會將浮點數值轉換成 null 結尾字元字串。value參數是要轉換的浮點數。_fcvt儲存的數字value做為字串,並將 null 字元 ('\ 0')。count參數會指定要儲存於小數點後的位數。多餘的數字會四捨五入後count放置。如果未達count位數的精確度,字串以零填補。
所傳回的數字總數_fcvt應該不超過_CVTBUFSIZE。
只有數字會儲存在字串中。小數點和的正負號的位置value可以取自dec ,並在呼叫之後的符號。dec參數指向整數值。 此整數值會提供相對於字串的開頭,小數點的位置。零或負數的整數值,表示小數點位於左邊的第一個數字。參數sign所指向的點表示的正負號之整數value。整數被設定成 0,如果value為正值,且設定為非零的數字 if value為負數。
之間的差異_ecvt和_fcvt中的轉譯工作count參數。_ecvt解譯count作為輸出字串中的數字總數而_fcvt解譯count的小數位數。
_ecvt與_fcvt用以轉換的單一靜態配置的緩衝區。每次呼叫其中一個這些常式會終結之前呼叫的結果。
這個函式會驗證它的參數。如果dec或sign為 NULL,或count為 0,不正確的參數處理常式會叫用,如所述參數驗證。如果要繼續,請允許執行errno設定為 [ EINVAL ,則傳回 NULL。
需求
Function |
所需的標頭 |
---|---|
_fcvt |
<stdlib.h> |
如需相容性資訊,請參閱相容性在簡介中。
範例
// crt_fcvt.c
// compile with: /W3
// This program converts the constant
// 3.1415926535 to a string and sets the pointer
// buffer to point to that string.
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
int decimal, sign;
char *buffer;
double source = 3.1415926535;
buffer = _fcvt( source, 7, &decimal, &sign ); // C4996
// Note: _fcvt is deprecated; consider using _fcvt_s instead
printf( "source: %2.10f buffer: '%s' decimal: %d sign: %d\n",
source, buffer, decimal, sign );
}