Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kayan noktalı sayıyı dizeye dönüştürür. Bu işlevin daha güvenli bir sürümü kullanılabilir; bkz _fcvt_s. .
Sözdizimi
char *_fcvt(
double value,
int count,
int *dec,
int *sign
);
Parametreler
value
Dönüştürülecek sayı.
count
Ondalık ayırıcıdan sonraki basamak sayısı.
dec
Depolanan ondalık nokta konumuna işaret eden işaretçi.
sign
Depolanan işaret göstergesinin işaretçisi.
Dönüş değeri
_fcvt hatayla NULL birlikte basamak dizesine bir işaretçi döndürür.
Açıklamalar
İşlev, _fcvt kayan noktalı bir sayıyı null ile sonlandırılan karakter dizesine dönüştürür. value parametresi dönüştürülecek kayan noktalı sayıdır. _fcvt basamaklarını value dize olarak depolar ve null karakter ekler ('\0'). parametresi ondalık count ayırıcıdan sonra depolanacak basamak sayısını belirtir. Fazla basamaklar yerlere yuvarlanır count . Duyarlık basamaklarından daha count azsa, dize sıfırlarla doldurulur.
tarafından _fcvt döndürülen toplam basamak sayısı değerini aşamaz _CVTBUFSIZE.
Dizede yalnızca basamaklar depolanır. Ondalık noktasının konumu ve işareti value çağrıdan dec sonra alınıp işaretlenebilir. dec parametresi bir tamsayı değerine işaret eder; bu tamsayı değeri, dizenin başlangıcına göre ondalık noktasının konumunu verir. Sıfır veya negatif tamsayı değeri, ondalık ayırıcının ilk basamuğun solunda olduğunu gösterir. parametresi sign , işaretini valuegösteren bir tamsayıya işaret ediyor. Tamsayı pozitifse value 0 olarak ayarlanır ve negatifse value sıfır olmayan bir sayıya ayarlanır.
ile _fcvt arasındaki _ecvt fark, parametresinin yorumlanmasındadırcount. _ecvtcount çıkış dizesindeki _fcvt toplam basamak sayısı olarak, ondalık ayırıcıdan sonraki basamak sayısı olarak yorumlarcount.
_ecvt ve _fcvt dönüştürme için statik olarak ayrılmış tek bir arabellek kullanın. Bu yordamlardan birine yapılan her çağrı, önceki çağrının sonuçlarını yok eder.
Bu işlev parametrelerini doğrular. veya dec sign veya NULLcount 0 ise, Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, errno olarak ayarlanır EINVALve NULL döndürülür.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
| İşlev | Gerekli başlık |
|---|---|
_fcvt |
<stdlib.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Ö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 );
}
source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0
Ayrıca bkz.
Veri dönüştürme
Matematik ve kayan nokta desteği
atof, _atof_l, _wtof, _wtof_l
_ecvt
_gcvt