数値をテキストに素早く変換する方法
例: 1 => one, 2=> two, ..., 15=》Fifteen
現在考えているのは、漢字を保存することです。 In配列
しかし、これは面倒です。入力した数字を中国語に変換するにはどうすればよいですか?もっと簡単な方法はありますか?
最終結果は次のとおりです:
入力 12
出力
过去多啦不再A梦2017-06-14 10:52:09
デジタル変換プロセスを言葉で明確に説明できる場合、コードを書くことは翻訳プロセスです。
このアルゴリズムは、実際には非常に奇妙なビジネス ロジックを備えた単なるビジネス ロジックです。焦点は、この ビジネス ロジック
を分析することにあります。小学校を卒業する前でもアラビア数字を漢数字に変換できます。この変換プロセスを完了する方法を頭の中に入れておく必要があります。したがって、ここでの調査の焦点は、問題の 抽象化 プロセスです。抽象的かつ正確に表現するには、まず問題自体を包括的に分析して理解し、ルールを見つけ出す必要があります。デジタル変換の過程で、0 を 10 と呼び、0 をゼロと呼びます。このプロセスは頭の中で非常に自然であるため、状況を分析してルールを見つけるにはある程度の能力が必要です。
この記事の冒頭の分析はプログラミングにとって非常に重要な抽象的なプロセスです
PHP中文网2017-06-14 10:52:09
数字を素早くテキストに変換する方法
例えば、1 => one, 2=> two, ..., 15=》Fifteen
現在考えているのは、漢字を配列に保存することです
でもこれは面倒です。入力した数字を中国語に変換する方法はありますか?
最終結果は次のようになります:
入力 12
出力
以下はJavaScript
漢字は数値の順序を明示的に指定します。たとえば、一百零一
は百、百、十、百万の順序を持ちます
2
>>>> 2
2
>>>> 二个
10
>>>> 一十
>>>> 十
10
>>>> > コード> >>>> 十
16
>>>> 一十
六个
>>>> 十六
105
>>>> 一百
零十
五个
>>>> 一百零五
1024
>>>> 一千
零百
二十
四个
>>>> 一千零二十四
その表現は值 + 阶
の形として見ることができることがわかります。
さらに以下の条件を満たした場合需要省略阶或者值
10
は十十
に対応し、十
と書きます。10
对应一十
写作十
110
对应一百一十零个
写作一百一十
110
は100 に対応します。 ten
code>One Hundred and Ten
を書いています
.... 待ってください
上記の考え方に基づいて描くべきプログラミングのアイデアは次のとおりです。
数字を入力してくださいn
n
映射到一个数组 tokens
上。 比如 8
变成 ["八"]
, 101
变成 ["一", "零", "一"]
を配列 tokens
にマッピングします。 たとえば、8
は ["8"]
になり、101
は ["一", "zero", "一"] になります。
レベルを追加101
变成 ["一", "百", "十", "零", "一", "个"]
One Hundred and One
などを最も単純な形式にフィルタリングします 一百十零一个
变成最简形式 一百零一
まず大于 10
的 数字映射到汉字的数制
を
たとえば、101
と入力すると 101
返回 一百零一
上に書いたツール機能を使うと早いです
リーリー簡単なテスト 変換のテスト 2
4
6
8
16
32
... 成 二
四
八
十六
三十二
...
....1からnまで
リーリーテスト
伊谢尔伦2017-06-14 10:52:09
数千億の数値をサポートします。ws 配列を変更すると、繁体字中国語に変更して RMB を大文字にすることができます
。 リーリーアイデアを添付します
/a/11...