ホームページ >よくある問題 >文字列をint型に変換する方法

文字列をint型に変換する方法

zbt
zbtオリジナル
2023-08-02 10:59:517738ブラウズ

プログラミングでは、文字列 (str) を整数 (int) に変換する必要がある状況によく遭遇します。これは、文字列に対して数値計算を実行する必要があるか、ユーザーが入力した文字列を処理のために整数に変換する必要があることが考えられます。この記事では、文字列を整数に変換する方法を説明します。

1. 組み込み関数 int() を使用する

Python には、文字列を整数に変換するために使用できる組み込み関数 int() が用意されています。この関数の基本的な構文は次のとおりです。

int(string, base)

このうち、string は変換対象の文字列で、base はオプションのパラメータであり、文字列のベースを示します。基数が指定されていない場合、デフォルトは 10 進数です。

文字列を整数に変換するには、文字列をパラメータとして渡す int() 関数を使用するだけです。例は次のとおりです:

num_str = "123" # 定义一个字符串
num_int = int(num_str) # 将字符串转换为整数
print(num_int) # 输出:123
print(type(num_int)) # 输出:

2. try-excel を使用して例外を処理します

文字列を整数に変換するときに、いくつかの問題が発生する可能性があります。たとえば、文字列に数値以外の文字が含まれているか、文字列で表される値が整数の範囲を超えています。変換中にプログラムがクラッシュするのを防ぐために、try-excel ステートメントを使用して例外を処理できます。

int() 関数を使用して文字列を変換する場合、例外が発生すると、Python は ValueError 例外を発生させます。したがって、try-excel を使用してこの例外をキャッチし、それに応じて処理できます。

num_str = "abc" # 包含非数字字符的字符串
try:
num_int = int(num_str)
print(num_int)
except ValueError:
print("字符串不能转换为整数")

上の例では、文字列に数値以外の文字「abc」が含まれているため、int() 関数はそれを整数に変換できず、ValueError 例外が発生します。例外ブロックでは、対応するプロンプト メッセージを出力します。

3. 正規表現を使用する

文字列を整数に変換するもう 1 つの方法は、正規表現を使用することです。正規表現は、文字列から特定のパターンを抽出するために使用できる強力なパターン マッチング ツールです。

re モジュールで findall() 関数を使用すると、文字列内の数値パターンを検索して抽出できます。次に、 int() 関数を使用して、抽出された文字列のリストを整数に変換します。

import re
num_str = "I have 123 apples" # 包含数字的字符串
numbers = re.findall(r'\d+', num_str) # 使用正则表达式查找数字模式
int_list = [int(num) for num in numbers] # 将字符串列表转换为整数列表
print(int_list) # 输出:[123]

上記の例では、正規表現 r'\d ' は 1 つ以上の数字と一致することを意味します。 findall() 関数は、一致するすべての文字列のリストを返します。次に、リスト内包表記を使用してこれらの文字列を整数に変換します。

概要:

この記事では、文字列を整数に変換する 3 つの方法を紹介します。 int() 関数を使用するのが最も一般的な方法ですが、例外の処理に注意する必要があります。正規表現を使用して文字列内の数値パターンを抽出し、整数に変換します。実際のアプリケーションでは、特定の状況に応じて文字列を整数に変換する最も適切な方法を選択します。 。

以上が文字列をint型に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。