0

好的,我需要把一个字符串变成一个浮点数做一些数学运算然后回到一个字符串

def item_price(data):       #grabs price of item
    soup = BeautifulSoup(data)
    info = soup.find('span', itemprop='price').text
    info = info.replace("$","")
    info = float(info);         #  but evary thing below this line goes wrong 
    info = info * .2 + info
    info = "$" + string(info);
    return(info);
4

1 回答 1

0

虽然我对 BeautifulSoap 一无所知,但我认为是分号。试试这个,看看它是否有效:

from decimal import *

def item_price(data):       
    soup = BeautifulSoup(data)
    info = soup.find('span', itemprop='price').text
    info = info.replace("$","")
    info = Decimal(info)
    info = (info * Decimal(0.2)) + info
    return '${0:.2f}'.format(info)

注意:您还有一些其他明显的语法问题,我试图清理它们。另外,请注意,您可能应该使用小数(超过浮点数)来表示金钱。

链接到十进制文档

于 2012-10-13T17:29:39.787 回答