_ecvt

將轉換double數字的字串。更安全版本之這個函式是可使用; see _ecvt_s.

char *_ecvt( 
   double value,
   int count,
   int *dec,
   int *sign 
);

參數

  • value
    以指定須轉換的數字。

  • count
    儲存的數字數目。

  • dec
    預存的十進位小數點位置。

  • sign
    轉換的數字正負號。

傳回值

_ecvt傳回的數字 ; 該字串的指標 如果發生錯誤,則為 NULL。

備註

_ecvt函式會將浮點數值轉換成字元字串。value參數是要轉換的浮點數。這個函式會將儲存多達count的數字value做為字串,並將 null 字元 ('\ 0')。如果數字位數,在value超過count,低序位的數字會四捨五入。如果未達count的數字,字串以零填補。

所傳回的數字總數_ecvt應該不超過_CVTBUFSIZE。

只有數字會儲存在字串中。小數點和的正負號的位置value可以取自dec和sign呼叫後。dec參數指向提供相對於字串開頭的小數點位置的整數值。0 或負值的整數值,表示小數點位於左邊的第一個數字。sign參數指向指示轉換的數字的正負號的整數。整數值為 0,如果是正數。否則,數值為負數。

之間的差異_ecvt和_fcvt中的轉譯工作count參數。_ecvt解譯count作為輸出字串中的數字總數而_fcvt解譯count的小數位數。

_ecvt與_fcvt用以轉換的單一靜態配置的緩衝區。每次呼叫其中一個這些常式會終結之前呼叫的結果。

這個函式會驗證它的參數。如果dec或sign為 NULL,或count為 0,不正確的參數處理常式會叫用,如所述參數驗證。如果要繼續,請允許執行errno設定為 [ EINVAL ,則傳回 NULL。

需求

Function

所需的標頭

_ecvt

<stdlib.h>

如需相容性資訊,請參閱相容性在簡介中。

範例

// crt_ecvt.c
// compile with: /W3
// This program uses _ecvt to convert a
// floating-point number to a character string.

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   int     decimal,   sign;
   char    *buffer;
   int     precision = 10;
   double  source = 3.1415926535;

   buffer = _ecvt( source, precision, &decimal, &sign ); // C4996
   // Note: _ecvt is deprecated; consider using _ecvt_s instead
   printf( "source: %2.10f   buffer: '%s'  decimal: %d  sign: %d\n",
           source, buffer, decimal, sign );
}
  

.NET Framework 對等用法

System::Convert::ToString

請參閱

參考

資料轉換

浮點支援

atof、 _atof_l、 _wtof、 _wtof_l

_fcvt

_gcvt