gpt4 book ai didi

python - 将解析数字格式化为 float()

转载 作者:行者123 更新时间:2023-12-01 00:36:19 24 4
gpt4 key购买 nike

我正在解析银行的网站以获取汇率。

但是它们返回的格式是“61,8000”并且它是一个字符串。

我尝试过 float() 但它抛出了一个错误。

我最后尝试的是:

sell = "{:10.6f}".format( e.select_one('.prodazenVal').text.strip() )
buy = "{:10.6f}".format( e.select_one('.kupovenVal').text.strip() )
middle = "{:10.6f}".format( e.select_one('.sredenVal').text.strip() )

我收到以下错误:

Traceback (most recent call last):
File "jobs/fetchExchangeRate.py", line 28, in <module>
sell = "{:10.4f}".format( e.select_one('.prodazenVal').text.strip() )
ValueError: Unknown format code 'f' for object of type 'str'
<小时/>

我想得到:“61.8000”

有什么建议吗?

最佳答案

您可以使用Python更改为locale使用逗号作为小数点分隔符,例如俄语,如下所示:

import locale
locale_backup = locale.getlocale(locale.LC_NUMERIC)
locale.setlocale(locale.LC_NUMERIC, locale='ru_RU')

sell = "{:10.6f}".format(locale.atof(e.select_one('.prodazenVal').text.strip()))
buy = "{:10.6f}".format(locale.atof(e.select_one('.kupovenVal').text.strip()))
middle = "{:10.6f}".format(locale.atof(e.select_one('.sredenVal').text.strip()))

locale.setlocale(locale.LC_NUMERIC, locale_backup)

locale.atof 方法可用于将本地化数字字符串转换为 float 。

关于python - 将解析数字格式化为 float(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57741446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com