在 Python 中將字串轉換為小數
-
在 Python 中使用
float()
函式將字串轉換為小數 - 使用異常處理將包含逗號的字串轉換為 Python 中的字串
-
在 Python 中使用字串格式和
float()
函式將字串轉換為十進位制 - 在 Python 中使用列表推導將字串列表轉換為浮點數
-
在 Python 中使用
numpy.float()
函式將字串轉換成小數 -
在 Python 中使用
NumPy
庫中的astype()
方法將字串轉換為小數 -
在 Python 中使用
decimal
模組將字串轉換為小數
Python 中的字串可以採用數字值。與其他流行的程式語言類似,Python 支援整數和浮點(或十進位制)數,併為它們分配了單獨的資料型別。有時,需要將字串中的數值轉換為整數或浮點數。
本教程將介紹如何在 Python 中將字串轉換為小數。
在 Python 中使用 float()
函式將字串轉換為小數
Python 提供了一個名為 float()
的內建函式,用於將字串或整數轉換為浮點值。
在這裡,我們將輸入一個字串並對給定的字串執行 float()
函式。
以下程式碼使用 float()
函式在 Python 中將字串轉換為小數。
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
語句分為三個塊;所有三個塊都有不同的目的。
try
塊包含要測試任何錯誤的程式碼簇。except
塊用於新增異常和處理程式碼錯誤。finally
塊包含需要執行的語句,並被try
和except
塊忽略。
下面的程式碼利用上面給出的原始程式碼的異常處理在 Python 中將字串轉換為小數。
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()
函式將字串轉換為十進位制
在給定的字串中,如果我們想指定我們想要在浮點變數中包含的小數點數,那麼我們可以使用字串格式化以及內建的 float()
函式。
以下程式碼使用字串格式在 Python 中將字串轉換為十進位制。
a = "5.54231"
x = float(a)
x = "{:.2f}".format(x)
print(x)
上面的程式碼提供了以下輸出:
5.54
在 Python 中使用列表推導將字串列表轉換為浮點數
列表推導式是一種相對較短且非常優雅的方式,用於建立基於現有列表的給定值形成的列表。
我們可以使用列表推導並使用列表推導中的 float()
方法將列表中的所有值轉換為浮點值。
以下程式碼使用列表推導將字串列表轉換為 Python 中的浮點數。
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()
函式將字串轉換成小數
術語 NumPy
是 Numerical Python 的首字母縮寫詞。這個庫使得在 Python 中使用陣列成為可能。它還提供了有助於操作這些陣列的函式。
numpy.float()
函式的工作方式類似於 Python 中內建的 float()
函式,唯一的區別是 numpy.float()
函式用於處理陣列。它總是生成一個浮點值陣列。
以下程式碼使用 numpy.float()
函式在 Python 中將字串轉換為小數。
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()
方法將字串轉換為小數
NumPy
庫包含一個內建的 astype()
方法,該方法有助於轉換給定 NumPy
陣列的資料型別。
以下程式碼使用 NumPy
庫中的 astype()
方法在 Python 中將字串轉換為小數。
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
模組將字串轉換為小數
decimal
模組提供的函式執行速度比常用浮點函式更快。
decimal.Decimal()
函式是一個建構函式,將輸入作為數值並執行將其轉換為十進位制型別的過程,非常適合儲存和表示數值,同時嚴格保持精度號碼。
以下程式碼使用 decimal
模組在 Python 中將字串轉換為小數。
from decimal import Decimal
a = "5.54262"
x = Decimal(a)
print(x)
上面的程式碼提供了以下輸出:
5.54262
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 中從字串中刪除逗號
- 在 Python 中將字串轉換為變數名
- Python 如何去掉字串中的空格/空白符
- 如何在 Python 中從字串中提取數字
- Python 如何將字串轉換為時間日期 datetime 格式
- Python2 和 3 中如何將(Unicode)字串轉換為小寫