_fcvt
Kayan noktalı sayı bir dizeye dönüştürür.Bu işlev, daha güvenli bir sürümünü kullanılabilir; see _fcvt_s.
char *_fcvt(
double value,
int count,
int *dec,
int *sign
);
Parametreler
value
Dönüştürülecek sayı.count
Ondalık basamak sayısı.dec
Saklanan ondalık nokta Konum işaretçisi.sign
Depolanan oturum göstergesi için işaretçi.
Dönüş Değeri
_fcvtbasamak, null hata dizesi için bir işaretçi döndürür.
Notlar
_fcvt İşlevi bir kayan noktalı sayı biten karakter dizesine dönüştürür.value Dönüştürülecek kayan noktalı sayı parametresidir._fcvtrakamını depolar value bir dize olarak ve boş karakter ('\0') ekler.count Parametresi ondalık ayırıcıdan sonra depolanan basamak sayısını belirtir.Fazla basamak yuvarlanmış için count yerleştirir.Varsa daha az count basamak duyarlıkla dize sıfır koyarak azsa.
Toplam tarafından döndürülen basamak sayısı _fcvt değil aşılacak _CVTBUFSIZE.
Yalnızca rakam dizesi içinde saklanır.Ondalık noktası ve işareti konumunu value den alınan dec ve sonra çağrı işareti.dec Parametresi gösteren bir tamsayı değeri için; Bu tamsayı değeri dize başlangıcını açısından ondalık noktasının konumunu verir.Sıfır veya negatif tamsayı değeri gösterir ondalık noktasının ilk basamak soluna yatmaktadır.Parametre sign belirtisi gösteren bir tamsayı işaret value.Tamsayı sıfıra ayarlanır value pozitif ve sıfır olmayan bir sayı Eğer set value negatif olur.
Arasındaki fark _ecvt ve _fcvt 'ın yorumu olan count parametresi._ecvtyorumlar count çıkış dizesi basamak sayısı olarak ise _fcvt yorumlar count ondalık basamak sayısı.
_ecvtve _fcvt tek bir statik olarak ayrılan arabelleğe dönüşümü için kullanın.Bu yordamlar için her arama önceki çağrının sonuçlarını bozar.
Bu işlev parametreleri doğrular.dec Veya sign , null veya count 0'dır, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.Yürütülmesine devam etmek için izin verilip verilmediğini errno ayarlamak EINVAL ve null döndürülür.
Gereksinimler
İşlev |
Gerekli başlık |
---|---|
_fcvt |
<stdlib.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// 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 );
}