ホームページ  >  に質問  >  本文

php - 面接の質問、100以内の数字を中国語に変換...

数値をテキストに素早く変換する方法
例: 1 => one, 2=> two, ..., 15=》Fifteen
現在考えているのは、漢字を保存することです。 In配列

に入れる リーリー

しかし、これは面倒です。入力した数字を中国語に変換するにはどうすればよいですか?もっと簡単な方法はありますか?

最終結果は次のとおりです:
入力 12
出力

リーリー
PHP中文网PHP中文网2683日前938

全員に返信(6)返信します

  • 淡淡烟草味

    淡淡烟草味2017-06-14 10:52:09

    リーリー

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-14 10:52:09

    デジタル変換プロセスを言葉で明確に説明できる場合、コードを書くことは翻訳プロセスです。

    このアルゴリズムは、実際には非常に奇妙なビジネス ロジックを備えた単なるビジネス ロジックです。焦点は、この ビジネス ロジック

    を分析することにあります。

    小学校を卒業する前でもアラビア数字を漢数字に変換できます。この変換プロセスを完了する方法を頭の中に入れておく必要があります。したがって、ここでの調査の焦点は、問題の 抽象化 プロセスです。抽象的かつ正確に表現するには、まず問題自体を包括的に分析して理解し、ルールを見つけ出す必要があります。デジタル変換の過程で、0 を 10 と呼び、0 をゼロと呼びます。このプロセスは頭の中で非常に自然であるため、状況を分析してルールを見つけるにはある程度の能力が必要です。

    この記事の冒頭の分析はプログラミングにとって非常に重要な抽象的なプロセスです

    返事
    0
  • 漂亮男人

    漂亮男人2017-06-14 10:52:09

    リーリー

    返事
    0
  • PHP中文网

    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 对应 一百一十零个 写作 一百一十110100 に対応します。 ten code> One Hundred and Ten を書いています
    .... 待ってください

    上記の考え方に基づいて描くべきプログラミングのアイデアは次のとおりです。

    1. 数字を入力してくださいn

    2. n 映射到一个数组 tokens 上。 比如 8 变成 ["八"], 101 变成 ["一", "零", "一"] を配列 tokens にマッピングします。 たとえば、8["8"] になり、101["一", "zero", "一"] になります。

    3. レベルを追加101 变成 ["一", "百", "十", "零", "一", "个"]

    4. One Hundred and One などを最も単純な形式にフィルタリングします 一百十零一个 变成最简形式 一百零一

    ツール機能

    リーリー

    達成しました

    まず大于 10数字映射到汉字的数制

    に実装します

    たとえば、101 と入力すると 101 返回 一百零一

    が返されます

    上に書いたツール機能を使うと早いです

    リーリー

    簡単なテスト 変換のテスト 2 4 6 8 16 32 ... 成 十六 三十二 ...

    リーリー

    数字をたどる

    ....1からnまで

    リーリー

    テスト


    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-14 10:52:09

    https://github.com/wilon/php-...

    PHP の数値は漢字の説明に変換され、RMB は大文字になります

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-14 10:52:09

    数千億の数値をサポートします。ws 配列を変更すると、繁体字中国語に変更して RMB を大文字にすることができます

    。 リーリー

    アイデアを添付します
    /a/11...

    返事
    0
  • キャンセル返事