Mengapakah penukaran nombor seperti 190000009 kepada perkataan Inggeris mengakibatkan kehilangan digit terakhir '9'?

Patricia Arquette
Lepaskan: 2024-11-09 16:44:02
asal
827 orang telah melayarinya

Why does converting numbers like 190000009 to English words result in missing the last digit

Nombor JavaScript kepada Perkataan

Isu

Apabila cuba menukar nombor kepada perkataan Inggeris, pepijat timbul dengan nombor seperti 190000009, yang tersilap ditukar kepada "seratus sembilan puluh juta." Digit terakhir, "9," tiada daripada keputusan.

Penjelasan

Masalahnya berpunca daripada sifar dalam nombor itu. Apabila fungsi triConvert menemui tiga sifar berturut-turut, ia mengembalikan rentetan "dontAddBigSufix." Ini mengarahkan program untuk meninggalkan istilah untuk unit yang sepadan (cth., ribu, juta, bilion) apabila melampirkan akhiran pada kumpulan digit.

Dalam kes 190000009, tiga sifar tengah mencetuskan pengembalian " dontAddBigSufix" untuk kumpulan kedua tiga digit, yang mewakili nilai juta. Akibatnya, akhiran "juta" tidak ditambahkan dan output akhir melangkau digit terakhir.

Coretan Kod

Segmen kod berikut menunjukkan isu:

for (b = finlOutPut.length - 1; b >= 0; b--) {
    if (finlOutPut[b] != "dontAddBigSufix") {
        finlOutPut[b] = finlOutPut[b] + bigNumArry[bigScalCntr] + ' , ';
        bigScalCntr++;
    }
    else {
        //replace the string at finlOP[b] from "dontAddBigSufix" to empty String.
        finlOutPut[b] = ' ';
        bigScalCntr++; //advance the counter  
    }
}
Salin selepas log masuk

Penyelesaian

Penyelesaian adalah untuk menyemak sama ada nilai bigNumArry yang sepadan ialah "juta" atau tidak. Jika ya, dan finlOutPut[b] sama dengan "dontAddBigSufix," maka finlOutPut[b] hendaklah digantikan dengan rentetan kosong dan bukannya ruang. Ini memastikan bahawa akhiran "juta" tidak ditambah apabila terdapat sifar di tengah nombor.

Atas ialah kandungan terperinci Mengapakah penukaran nombor seperti 190000009 kepada perkataan Inggeris mengakibatkan kehilangan digit terakhir '9'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan