ソリューションのプレビュー: 数値文字列を次のように変換します。int()。 10 進数以外の入力 (2 進数、16 進数) の場合は、基数を渡します。無効な入力に対処するために、エラー処理または事前検証を追加します。
方法 1: int() を使用して 10 進数値文字列を変換する
ステップ 1:数値文字列を保存または読み取ります。
s = "42"ステップ 2:文字列を整数に変換します。
n = int(s)ステップ 3:計算に整数を使用するか、印刷します。
print(n * 2) # 84ヒント:int()先頭/末尾の空白を無視し、次のようなオプションの記号をサポートします。"+17"または" -3 "。
方法 2: 他の基数 (2 進数、16 進数、8 進数) の文字列を解析する
ステップ 1:文字列のベースを特定します (2 進数の場合は 2、8 進数の場合は 8、16 進数の場合は 16)。
ステップ 2:ベースを 2 番目の引数として渡しますint()。
# Binary
b = "1010"
n = int(b, 2) # 10
# Hexadecimal
h = "1A"
m = int(h, 16) # 26注: 2 ~ 36 の任意の基数を使用できます。
方法 3: 無効な入力を安全に処理する (試行/除外または事前チェック)
ステップ 1:不正な入力をキャッチするために、変換を try/excel ブロックでラップします。
s = "abc"
try:
n = int(s)
print(n)
except ValueError:
print("Invalid input: cannot convert to integer")ステップ 2:必要に応じて、次の方法で事前検証します。str.isdigit()数字のみの入力の場合。
s = "12345"
if s.isdigit():
print(int(s))
else:
print("Not a pure digit string")チェック:str.isdigit()サインは受け付けません("-5") または小数 ("12.3")。このような場合には、try/Except パスを使用してください。
方法 4: float のような文字列を int に変換する
ステップ 1:文字列を float に変換してから int に変換します。
s = "88.8"
n = int(float(s)) # 88 (truncates toward zero)注: これにより、小数部分が切り捨てられます。四捨五入が必要な場合は、次のように変換します。floatそして申請してくださいround()前にint()。
方法 5: 数値文字列のリストを変換する
ステップ 1:各要素をマッピングしますint新しいリストを作成します。
xs = ["1", "2", "3"]
nums = list(map(int, xs)) # [1, 2, 3]ステップ 2:あるいは、リスト内包表記を使用します。
nums = [int(x) for x in xs]ヒント: 項目が無効である可能性がある場合は、try/Except を使用する関数で変換をラップし、次のように適用します。mapまたは理解。
よくある落とし穴
- 数値以外のテキストを渡す (たとえば、
"hello") を上げますValueError。 Try/Except を使用してプログラムを実行し続けます。 - float 文字列の解析 (例:
"12.5") とint()失敗する。に変換するfloatまず、切り捨てが許容されるかどうか。 - 正しい塩基を使用せずに塩基固有の文字列を解析すると、不正確な結果またはエラーが発生します。文字列が 10 進数でない場合は、常に基数を渡します。
とint()直接解析、10 進数以外の文字列の基本引数、および単純な検証を行うことで、自信を持って入力を変換し、コードを堅牢に保つことができます。
続きを読む:Python で文字列を反転する方法













![認証読み取り ECONNRESET コパイロット エラー [修正]](https://elsefix.com/tech/tejana/wp-content/uploads/2024/12/error-econnreset-copilot.jpg)