Fungsi GetNumberFormatW (winnls.h)
Memformat string angka sebagai string angka yang disesuaikan untuk lokal yang ditentukan oleh pengidentifikasi.
Sintaks
int GetNumberFormatW(
[in] LCID Locale,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const NUMBERFMTW *lpFormat,
[out, optional] LPWSTR lpNumberStr,
[in] int cchNumber
);
Parameter
[in] Locale
Pengidentifikasi lokal yang menentukan lokal. Anda dapat menggunakan makro MAKELCID untuk membuat pengidentifikasi lokal atau menggunakan salah satu nilai yang telah ditentukan sebelumnya berikut ini.
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
Bendera yang mengontrol pengoperasian fungsi. Aplikasi harus mengatur parameter ini ke 0 jika lpFormat tidak diatur ke NULL. Dalam hal ini, fungsi memformat string menggunakan penimpaan pengguna ke format nomor default untuk lokal. Jika lpFormat diatur ke NULL, aplikasi dapat menentukan LOCALE_NOUSEROVERRIDE untuk memformat string menggunakan format nomor default sistem untuk lokal yang ditentukan.
[in] lpValue
Penunjuk ke string yang dihentikan null yang berisi string angka yang akan diformat. String ini hanya dapat berisi karakter berikut. Semua karakter lainnya tidak valid. Fungsi mengembalikan kesalahan jika string yang ditunjukkan oleh lpValue menyimpang dari aturan ini.
- Karakter "0" hingga "9".
- Satu titik desimal (titik) jika angka tersebut adalah nilai floating-point.
- Tanda minus di posisi karakter pertama jika angka tersebut adalah nilai negatif.
[in, optional] lpFormat
Arahkan ke struktur NUMBERFMT yang berisi informasi pemformatan angka, dengan semua anggota diatur ke nilai yang sesuai. Jika parameter ini tidak diatur ke NULL, fungsi menggunakan lokal hanya untuk informasi pemformatan yang tidak ditentukan dalam struktur, misalnya, nilai string khusus lokal untuk tanda negatif.
[out, optional] lpNumberStr
Penunjuk ke buffer tempat fungsi ini mengambil string angka yang diformat.
[in] cchNumber
Ukuran, dalam nilai TCHAR, untuk buffer string angka yang ditunjukkan oleh lpNumberStr. Atau, aplikasi dapat mengatur parameter ini ke 0. Dalam hal ini, fungsi mengembalikan ukuran yang diperlukan untuk buffer string angka, dan tidak menggunakan parameter lpNumberStr .
Mengembalikan nilai
Mengembalikan jumlah nilai TCHAR yang diambil dalam buffer yang ditunjukkan oleh lpNumberStr jika berhasil. Jika parameter cchNumber diatur ke 0, fungsi mengembalikan jumlah karakter yang diperlukan untuk menahan string angka yang diformat, termasuk karakter null yang mengakhiri.
Fungsi mengembalikan 0 jika tidak berhasil. Untuk mendapatkan informasi kesalahan yang diperluas, aplikasi dapat memanggil GetLastError, yang dapat mengembalikan salah satu kode kesalahan berikut:
- ERROR_INSUFFICIENT_BUFFER. Ukuran buffer yang disediakan tidak cukup besar, atau salah diatur ke NULL.
- ERROR_INVALID_FLAGS. Nilai yang disediakan untuk bendera tidak valid.
- ERROR_INVALID_PARAMETER. Salah satu nilai parameter tidak valid.
- ERROR_OUTOFMEMORY. Penyimpanan tidak cukup tersedia untuk menyelesaikan operasi ini.
Keterangan
Fungsi ini dapat mengambil data dari lokal kustom. Data tidak dijamin sama dari komputer ke komputer atau antara eksekusi aplikasi. Jika aplikasi Anda harus mempertahankan atau mengirimkan data, lihat Menggunakan Data Lokal Persisten.
Ketika versi ANSI dari fungsi ini digunakan dengan pengidentifikasi lokal khusus Unicode, fungsi dapat berhasil karena sistem operasi menggunakan halaman kode sistem. Namun, karakter yang tidak ditentukan di halaman kode sistem muncul dalam string sebagai tanda tanya (?).
Catatan
Header winnls.h mendefinisikan GetNumberFormat sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winnls.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |