Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengonversi angka floating-point menjadi string. Versi fungsi ini yang lebih aman tersedia; lihat _fcvt_s.
Sintaks
char *_fcvt(
double value,
int count,
int *dec,
int *sign
);
Parameter
value
Angka yang akan dikonversi.
count
Jumlah digit setelah titik desimal.
dec
Penunjuk ke posisi titik desimal tersimpan.
sign
Penunjuk ke indikator tanda tersimpan.
Nilai hasil
_fcvt mengembalikan penunjuk ke string digit, NULL pada kesalahan.
Keterangan
Fungsi ini _fcvt mengonversi angka floating-point menjadi string karakter null-terminated. Parameter value adalah angka floating-point yang akan dikonversi. _fcvt menyimpan digit value sebagai string dan menambahkan karakter null ('\0'). Parameter count menentukan jumlah digit yang akan disimpan setelah titik desimal. Digit berlebih dibulatkan ke count tempat-tempat. Jika ada kurang dari count digit presisi, string diisi dengan nol.
Jumlah total digit yang dikembalikan _fcvt oleh tidak akan melebihi _CVTBUFSIZE.
Hanya digit yang disimpan dalam string. Posisi titik desimal dan tanda value dapat diperoleh dari dec dan ditandatangani setelah panggilan. Parameter dec menunjuk ke nilai bilangan bulat; nilai bilangan bulat ini memberikan posisi titik desimal sehubungan dengan awal string. Nilai bilangan bulat nol atau negatif menunjukkan bahwa titik desimal terletak di sebelah kiri digit pertama. Parameter sign menunjuk ke bilangan bulat yang menunjukkan tanda value. Bilangan bulat diatur ke 0 jika value positif dan diatur ke angka bukan nol jika value negatif.
Perbedaan antara _ecvt dan _fcvt berada dalam interpretasi count parameter. _ecvtcount menafsirkan sebagai jumlah total digit dalam string output, sedangkan _fcvt menafsirkan count sebagai jumlah digit setelah titik desimal.
_ecvt dan _fcvt gunakan satu buffer yang dialokasikan secara statis untuk konversi. Setiap panggilan ke salah satu rutinitas ini menghancurkan hasil panggilan sebelumnya.
Fungsi ini memvalidasi parameternya. Jika dec atau sign , NULLatau count adalah 0, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, errno diatur ke EINVAL, dan NULL dikembalikan.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
| Fungsi | Header yang diperlukan |
|---|---|
_fcvt |
<stdlib.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// 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
Lihat juga
Konversi data
Dukungan matematika dan titik mengambang
atof, , _atof_l_wtof,_wtof_l
_ecvt
_gcvt