ホームページ > バックエンド開発 > PHPチュートリアル > PHP で単語を数値に変換するにはどうすればよいですか?

PHP で単語を数値に変換するにはどうすればよいですか?

DDD
リリース: 2024-11-07 12:53:02
オリジナル
1043 人が閲覧しました

How do I convert words to numbers in PHP?

PHP での単語から数値への変換: 総合ガイド

質問:

はありますかPHP で単語として表現された数値を整数に変換する簡単な方法はありますか?

答え:

数値を単語に変換するためのリソースは多数ありますが、その逆の関数を見つけてください。挑戦的になる可能性があります。ここでは、明確に定義されたアルゴリズムを活用した包括的なアプローチを示します:

ステップ:

  1. トークン化:

    • 入力文字列をトークンと呼ばれる個々の単語に分割します。
    • 一般的なトークンには以下が含まれます:

      • POWER: 千、百万、十億
      • HUNDRED: 百
      • TEN: 20, 30... 90
      • UNIT: 1, 2, 3, ... 9
      • SPECIAL: ten, 11, 12, ... 19
  2. 右から左への解析:

    • から開始右端のトークン。
    • UNIT、HUNDRED、TEN、および SPECIAL トークンの組み合わせを表すパターンに一致するように連続したトークンをグループ化します。例:

      • ユニット ハンドレッド テン ユニット
      • ユニット ハンドレッド ユニット
      • スペシャル
  3. 数値に変換:

    • 各パターンを対応する数値に変換します (例: "twenty-one" -> 21)。
    • これらの値を集計して最終的な数値を取得します。
  4. 反復処理:

    • 右から左への解析の場合POWER トークンに到達すると、次に高い POWER または文字列の末尾でプロセスを再開します。
    • 文字列の先頭に到達するまで続けます。

例:

入力文字列「iPhone には 23,783 のアプリがあります。」を考えます。

  • トークン化: [「iPhone」、「ある」、「二」、「百」、「そして」、「三十」、「千」、「七」、「百」、「そして」、「八十」、「三」 、"apps"]
  • 右から左への解析:
  "three" -> 3
  "eighty" -> 80
  "and" -> (ignored)
  "seven" -> 7
  "hundred" -> 700
  "and" -> (ignored)
  "thirty" -> 30
  "thousand" -> 30000
  "two" -> 2
  "hundred" -> 200
  "and" -> (ignored)
ログイン後にコピー
  • 数値に変換:
  30000 + 200 + 30 + 700 + 80 + 3 = 230783
ログイン後にコピー

したがって、「iPhone には 230,783 個のアプリがある」は、「iPhone には 230783 個のアプリがある」となります。

以上がPHP で単語を数値に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート