转换多个字符串值 (Python 3)

Convert multiple string values (Python 3)

大家早上好!

自从我在 Python 试手以来,这是我在寻求建议后第一次在此网站上发帖。

我正在努力从 sqlite 数据库中提取数据并将其输入到 Excel 电子表格中。我已经学会了如何提取数据,并将其写入电子表格。不过,我遇到的问题是 table 中的一个值,我从中提取数据,以字符串形式显示美元金额。例如,$1000.00 表示为 100000。乍一看似乎是 $100000,但应用程序出于某种原因将 $1000.00 存储为 100000。

所以我的问题是:有没有一种方法可以将这些字符串值转换为浮点数,或转换为另一个字符串以输入美元符号和小数点以显示正确的数字?这也不仅仅是一个值的转换。它需要进行一揽子转换,因此每当我 运行 脚本时,它都会转换数据,而不管显示的金额是多少。

因此,如果 table 包含值 50000、20000、30000、5000、500,我需要能够将它们转换为 $500.00、$200.00、$300.00、$50.00、$5.00。

我希望一切都有意义,我感谢任何人能给我的帮助!

您必须将值除以 100 以去除最后 2 0s,然后使用函数 printf() 格式化:

printf("$%.2f", columnname / 100)

columnname 替换为您的专栏名称。

所以结果:

select printf("$%.2f", 500 / 100)

是:

.00

参见demo

如果您尝试转换 Python 中的值,您可以这样做:

new_value = float(old_value) / 100

这将尝试将字符串转换为浮点值,然后将其除以 100 以更正小数位。如果精度很重要,您可能希望使用 decimal 类型而不是 float。