Cara menukar nombor dengan cepat kepada teks
Sebagai contoh, 1 => satu, 2=> dua, ..., 15=》lima belas
Apa yang sedang saya fikirkan ialah untuk menyimpan aksara Cina ke dalam tatasusunan
$arr = ['一','二','三','四','五','六','七','八','九','十'];
Tetapi ini terlalu menyusahkan Bagaimana untuk menukar nombor input ke dalam bahasa Cina?
Keputusan akhir adalah seperti berikut:
Input 12
Output
一二三四五六七八九十十一十二
Jika anda boleh menerangkan proses penukaran digital dengan jelas dalam perkataan, maka menulis kod ialah proses terjemahan.
Algoritma sebenarnya hanyalah logik perniagaan dengan logik perniagaan yang sangat pelik Fokusnya adalah untuk menganalisislogik perniagaan
iniAnda boleh menukar angka Arab kepada angka Cina walaupun sebelum anda menamatkan sekolah rendah Anda mesti mempunyai kaedah dalam fikiran anda untuk menyelesaikan proses penukaran ini. Jadi fokus penyiasatan di sini ialahabstraksiproses masalah. Untuk menjadi abstrak dan tepat, anda mesti terlebih dahulu mempunyai analisis dan pemahaman yang komprehensif tentang masalah itu sendiri dan mengetahui peraturannya. Dalam proses penukaran digital, bila 0 dipanggil sepuluh dan bila dipanggil sifar. Proses ini sangat semula jadi dalam fikiran bahawa ia masih memerlukan sejumlah keupayaan untuk menganalisis keadaannya dan mengetahui peraturannya.
Saya mengesyorkan artikel ini Analisis pada permulaan artikel adalah proses abstraksi, yang sangat penting untuk pengaturcaraan
Cara menukar nombor dengan cepat kepada teks
Sebagai contoh, 1 => satu, 2=> dua, ..., 15=》lima belas
Apa yang sedang saya fikirkan ialah untuk menyimpan aksara Cina ke dalam tatasusunan
Tetapi ini terlalu menyusahkan Bagaimana untuk menukar nombor input ke dalam bahasa Cina?
Keputusan akhir adalah seperti berikut:
Input 12
Output
Berikut adalah pelaksanaan
JavaScript
Perhatikan perwakilan berangka aksara Cina
Aksara Cina secara eksplisit menyatakan susunan nombor Contohnya,
.一百零一
mempunyai susunan ratusan (seratus, seratus, sepuluh, juta)Dua
2
>>>>二个
10
>>>>一十
>>>>十
16
>>>>一十
六个
>>>>十六
105
>>>>一百
零十
五个
>>>>一百零五
1024
>>>>一千
零百
二十
四个
>>>>一千零二十四
Anda boleh melihat bahawa perwakilannya boleh dilihat sebagai bentuk
值 + 阶
.Selain itu, apabila syarat berikut dipenuhi
需要省略阶或者值
Berdasarkan pemikiran di atas, idea pengaturcaraan yang perlu dilukis adalah seperti berikut:
Masukkan nombor
n
Peta
token
. Contohnya,
n
映射到一个数组tokens
上。 比如8
变成["八"]
,101
变成["一", "零", "一"]
kepada tatasusunan8
menjadi["八"]
,101
menjadi["一", "zero", "一"]
Tambah tahap
101
变成["一", "百", "十", "零", "一", "个"]
Tapis, seperti
Seratus satu
ke dalam bentuk termudah
一百十零一个
变成最简形式一百零一
Fungsi alat
Tercapai
Pertama dilaksanakan
大于 10
的数字映射到汉字的数制
padaSebagai contoh, masukkan
101
untuk kembali101
返回一百零一
Ia akan menjadi lebih pantas untuk menggunakan fungsi alat yang ditulis di atas
Ujian mudah Ujian penukaran
2
4
6
8
16
32
... 成二
四
八
十六
三十二
...Melintasi nombor
....dari 1 hingga n
Ujian
https://github.com/wilon/php-...
Nombor PHP ditukar kepada huraian aksara Cina, dan RMB ditulis dengan huruf besar
Menyokong ratusan bilion nombor Mengubah suai tatasusunan ws boleh dikembangkan secara tidak terhingga Mengubah suai tatasusunan cns kepada Cina Tradisional boleh digunakan untuk menggunakan modal RMB
Dilampirkan ideanya/a/11...