Python ValueError: Float() の無効なリテラル

Zeeshan Afridi 2023年10月10日
  1. Python の ValueError: float() の無効なリテラル
  2. Python の ValueError: float() の無効なリテラル を修正する
Python ValueError: Float() の無効なリテラル

float() 関数でサポートされていない認識できない引数を渡すと、Python コンパイラは ValueError: invalid literal for float() などのエラーを発生させます。 Python コンパイラは、Python 2x バージョンではこの ValueError: invalid literal for float() を発生させ、Python 3x バージョンでは ValueError: could not convert string to float を発生させます。 関数。

Python の ValueError: float() の無効なリテラル

float() 関数は、文字列を浮動小数点数に型キャストできません。 むしろ、Python のバージョンによって異なる ValueError がスローされます。

Python 2Python 3 の両方の例を見てみましょう。

コード - Python 2:

# python 2.7
import sys

print("The Current version of Python:", sys.version)

x = "123xyx"
y = float(x)
print(y)

出力:

The current version of Python: 2.7.18
ValueError: invalid literal for float(): 123xyx

コード - Python 3:

# >= Python 3.7
import sys

print("The Current version of Python:", sys.version)

x = "123xyx"
y = float(x)
print(y)

出力:

The current version of Python: 3.7.4
ValueError: could not convert string to float: '123xyx'

Python 2.7Python 3.7 で同じコードを実行しましたが、Python のコンパイラの改善と継続的な開発により、エラーは同じではありません。

Python の ValueError: float() の無効なリテラル を修正する

値エラー float() の無効なリテラル または 文字列を float に変換できませんでした を修正するには、float() 関数の引数として有効なリテラルを指定して、正しく解析できるようにする必要があります。

float 関数に有効な数値 文字列 (数字のみ) または 整数 値を指定すると、完全に機能します。

コード:

h = input("Enter you height:")
print(type(h))

height = float(h)
print("\nYour height is:", height)
print(type(height))

出力:

Enter you height:5.4
<class 'str'>

Your height is: 5.4
<class 'float'>

高さの値は常に float ですが、input ステートメントはすべての入力を文字列として受け取ります。 したがって、上記の場合、ユーザーは高さ "5.4" を入力しましたが、そのクラスは str ですが、後でそれを 'float' に型キャストしました。

著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

関連記事 - Python Error