Python で文字列を 10 進数に変換する

Vaibhhav Khetarpal 2023年10月10日
  1. Python で float() 関数を使用して文字列を 10 進数に変換する
  2. 例外処理を使用する Python でコンマを含む文字列を文字列に変換する
  3. Python で float() 関数とともに文字列フォーマットを使用して文字列を 10 進数に変換する
  4. Python でリスト内包表記を使用して文字列のリストをフロートに変換する
  5. Python で numpy.float() 関数を使用して文字列を 10 進数に変換する
  6. Python で NumPy ライブラリの astype() メソッドを使用して文字列を 10 進数に変換する
  7. Python で decimal モジュールを使用して文字列を 10 進数に変換する
Python で文字列を 10 進数に変換する

Python の文字列は数値を取ることができます。他の一般的なプログラミング言語と同様に、Python は整数と浮動小数点(または 10 進数)の数値をサポートし、それらに個別のデータ型が割り当てられています。文字列で取得した数値を整数または浮動小数点数に変換する必要がある場合があります。

このチュートリアルでは、Python で文字列を 10 進数に変換する方法を紹介します。

Python で float() 関数を使用して文字列を 10 進数に変換する

Python には、文字列または整数を浮動小数点値に変換するために使用される float() と呼ばれる組み込み関数が用意されています。

ここでは、文字列を入力し、指定された文字列に対して float() 関数を実行します。

次のコードは、float() 関数を使用して、Python で文字列を 10 進数に変換します。

a = "5.54"
x = float(a)
print(x)

上記のコードは、次の出力を提供します。

5.54

例外処理を使用する Python でコンマを含む文字列を文字列に変換する

文字列内の数値をコンマで区切り、文字列に対して float() 関数を直接呼び出すと、ValueError が返されます。

次のサンプルコードは、理解を深めるのに役立ちます。

a = "1,5.54"
x = float(a)
print(x)

上記のコードは、次の出力を提供します。

Traceback (most recent call last):
  File "<string>", line 2, in <module>
ValueError: could not convert string to float: '1,5.54'

元のコードからすばやく迂回し、このコードで例外処理を使用してこれを回避できます。

try...except ステートメントは、Python での例外処理の目的で使用されます。try...except ステートメントは 3つのブロックに分かれています。3つのブロックはすべて異なる目的を持っています。

  • try ブロックには、エラーがないかテストするコードのクラスターが含まれています。
  • except ブロックは、例外を追加し、コードのエラーを処理するために使用されます。
  • finally ブロックには、実行する必要のあるステートメントが含まれており、try...except ブロックによって無視されます。

次のコードは、上記の元のコードの例外処理を利用して、Python で文字列を 10 進数に変換します。

a = "1,5.54"
try:
    x = float(a)
except ValueError:
    print("Invalid Float number to be converted. ")

上記のコードは、次の出力を提供します。

Invalid Float number to be converted.

Python で float() 関数とともに文字列フォーマットを使用して文字列を 10 進数に変換する

特定の文字列で、浮動小数点変数に含める小数点の数を指定する場合は、組み込みの float() 関数とともに文字列の書式設定を使用できます。

次のコードは、文字列フォーマットを使用して、Python で文字列を 10 進数に変換します。

a = "5.54231"
x = float(a)
x = "{:.2f}".format(x)
print(x)

上記のコードは、次の出力を提供します。

5.54

Python でリスト内包表記を使用して文字列のリストをフロートに変換する

リスト内包表記は、既存のリストの特定の値に基づいて形成されるリストを作成するための比較的短く、非常に優雅な方法です。

リスト内包表記を使用し、リスト内包表記の float() メソッドを使用して、リスト内のすべての値を浮動小数点値に変換できます。

次のコードは、リスト内包表記を使用して、文字列のリストを Python で float に変換します。

lst = ["1.22", "5.54", "6.858"]
x = [float(i) for i in lst]
print(x)

上記のコードは次の出力を提供します。

[1.22, 5.54, 6.858]

Python で numpy.float() 関数を使用して文字列を 10 進数に変換する

NumPy という用語は、Numerical Python の頭字語です。このライブラリは、Python で配列の使用を可能にします。また、これらの配列の操作に役立つ関数も提供します。

numpy.float() 関数は、Python に組み込まれている float() 関数と同様に機能しますが、唯一の違いは、numpy.float() 関数が配列で機能するように作成されていることです。常に浮動小数点値の配列を生成します。

次のコードは、numpy.float() 関数を使用して、Python で文字列を 10 進数に変換します。

import numpy as np

lst = ["1.22", "5.54", "6.858"]
print(list(np.float_(lst)))

上記のコードは、次の出力を提供します。

[1.22, 5.54, 6.858]

Python で NumPy ライブラリの astype() メソッドを使用して文字列を 10 進数に変換する

NumPy ライブラリには、指定された NumPy 配列のデータ型の変換を支援する組み込みの astype() メソッドが含まれています。

次のコードは、NumPy ライブラリの astype() メソッドを使用して、Python で文字列を 10 進数に変換します。

import numpy as np

a = np.array(["1.22", "5.54", "6.858"])
x = a.astype(float)
print(x)

上記のコードは、次の出力を提供します。

[1.22  5.54  6.858]

Python で decimal モジュールを使用して文字列を 10 進数に変換する

decimal モジュールは、標準の浮動小数点関数よりも高速な演算を実行する関数を提供します。

コンストラクターである decimal.Decimal() 関数は、入力を数値として受け取り、それを 10 進型に変換するプロセスを実行します。これは、数値の精度を厳密に維持しながら、数値を格納および表現するのに理想的です。

次のコードは、decimal モジュールを使用して、Python で文字列を 10 進数に変換します。

from decimal import Decimal

a = "5.54262"
x = Decimal(a)
print(x)

上記のコードは、次の出力を提供します。

5.54262
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python String

関連記事 - Python Float