首頁 >後端開發 >Python教學 >如何在 Python 中安全地將區域特定的字串數字轉換為浮點數?

如何在 Python 中安全地將區域特定的字串數字轉換為浮點數?

Patricia Arquette
Patricia Arquette原創
2024-12-02 07:52:09943瀏覽

How to Safely Convert Locale-Specific String Numbers to Floats in Python?

如何在Python 中將帶有點和逗號的字串轉換為浮點數

使用本地化服務

預設區域設定

Python locale 模組提供基於 C的本地化介面

import locale
locale.atof('123,456.908')

但是,此方法需要明確設定區域設定以符合平台的設定:

locale.setlocale(locale.LC_ALL, '')

來自環境的區域設定

或者,您可以從下列位置取得區域設定環境:

locale.setlocale(locale.LC_ALL, "")
locale.atof("123,456.908")

明確區域設定

您也可以透過名稱指定特定區域設定:

locale.setlocale(locale.LC_NUMERIC, 'en_DK.UTF-8')
locale.atof('123,456.789') # Returns 123.456789 with period as thousands separator

注意事項

全域設定語言環境會影響整個程序,應謹慎執行。擴充模組不應呼叫 setlocale()。

以上是如何在 Python 中安全地將區域特定的字串數字轉換為浮點數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn