Mengubah Angka Menjadi Kata-kata Menggunakan JavaScript

Banyak pemrograman melibatkan perhitungan dengan angka, dan Anda dapat dengan mudah memformat angka untuk tampilan dengan menambahkan koma, desimal, tanda negatif, dan karakter lain yang sesuai tergantung pada jenis nomornya.

Tetapi Anda tidak selalu menyajikan hasil Anda sebagai bagian dari persamaan matematika. Web untuk pengguna umum lebih banyak tentang kata-kata daripada tentang angka, jadi terkadang angka yang ditampilkan sebagai angka tidak tepat.

Dalam hal ini, Anda membutuhkan jumlah kata yang setara, bukan angka. Di sinilah Anda dapat mengalami kesulitan. Bagaimana Anda mengonversi hasil numerik perhitungan Anda ketika Anda membutuhkan angka yang ditampilkan dalam kata-kata?

Jika Anda ingin dapat melakukan konversi ini di situs Anda, Anda akan memerlukan kode JavaScript yang dapat melakukan konversi untuk Anda. Cara paling sederhana untuk melakukan ini adalah dengan menggunakan kode di bawah; cukup pilih kode dan salin ke file yang disebut toword.js.

// Konversi angka menjadi kata-kata

instagram viewer

// hak cipta 25 Juli 2006, oleh Stephen Chapman http://javascript.about.com
// izin untuk menggunakan Javascript ini di halaman web Anda diberikan
// asalkan semua kode (termasuk pemberitahuan hak cipta ini) adalah
// digunakan persis seperti yang ditunjukkan (Anda dapat mengubah sistem penomoran jika diinginkan)

// Sistem Penomoran Amerika
var th = ['', 'ribu', 'juta', 'miliar', 'triliun'];
// batalkan komentar pada baris ini untuk Sistem Nomor Bahasa Inggris
// var th = ['', 'ribu', 'juta', 'milliard', 'miliar'];

var dg = ['nol', 'satu', 'dua', 'tiga', 'empat',
'lima', 'enam', 'tujuh', 'delapan', 'sembilan']; var tn =
['sepuluh', 'sebelas', 'dua belas', 'tiga belas', 'empat belas', 'lima belas', 'enam belas',
'tujuh belas', 'delapan belas', 'sembilan belas']; var tw = ['dua puluh', 'tiga puluh', 'empat puluh', 'lima puluh',
'enam puluh', 'tujuh puluh', 'delapan puluh', 'sembilan puluh']; function toWords (s) {s = s.toString (); s =
s.replace (/ [\,] / g, ''); if (s! = parseFloat (s)) mengembalikan 'bukan angka'; var x =
s.indexOf ('.'); if (x == -1) x = s.length; jika (x> 15) kembali 'terlalu besar'; var n =
s.split (''); var str = ''; var sk = 0; untuk (var i = 0; saya ((x-i)% 3 == 2) {if (n [i] == '1') {str + = tn [Nomor (n [i + 1])] + ''; i ++; sk = 1;}
selain itu jika (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} lain jika (n [i]! = 0) {str + =
dg [n [i]] + ''; if ((x-i)% 3 == 0) str + = 'ratus'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}} if (x! = s.length) {var y = s.length; str + =
'titik'; untuk (var i = x +1; istr.replace (/ \ s + / g, '');}

Langkah terakhir adalah memanggil skrip untuk melakukan konversi ke kata-kata untuk Anda. Untuk mendapatkan nomor yang dikonversi ke kata-kata, Anda hanya perlu memanggil fungsi yang meneruskannya nomor yang ingin Anda konversi dan kata-kata yang sesuai akan dikembalikan.

Perhatikan bahwa fungsi ini dapat mengubah angka sebesar 999.999.999.999.999 menjadi kata-kata dan dengan banyak tempat desimal yang Anda inginkan. Jika Anda mencoba mengonversi a jumlah lebih besar dari itu akan kembali "terlalu besar."

Angka, koma, spasi, dan satu periode untuk titik desimal adalah satu-satunya karakter yang dapat diterima yang dapat digunakan untuk angka yang dikonversi. Jika itu berisi sesuatu di luar karakter ini, itu akan mengembalikan "bukan angka."

instagram story viewer