如何将字符串转换为货币价值?

时间:2019-09-19 17:11:12

标签: python

输入数据来自外部API。整数应转换为人类可读的货币,最后两位数字为便士值。

例如:我收到这个:'0000000702870'。我需要格式7.028,70

最后两个值始终是便士值。

我尝试

float(value)

但是我得到了702870.0

还有这个

def convert_received_value_parser(value, sep='.'):
    value = str(value)
    return value if len(value) <= 4 else convert_received_value_parser(value[:-5], sep) + sep + value[-5:]

但是,它不起作用。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

value = '0000000702870'
v = float(value)/100
import locale
locale.setlocale(locale.LC_ALL,'pt_BR')
out = locale.format('%.2f',v,grouping=True)


print(out)

输出:

'7.028,70'