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)

注:他にも明らかな構文上の問題があり、クリーンアップしようとしました。また、お金のためにおそらく小数(浮動小数点以上)を使用する必要があることに注意してください。

Decimalドキュメントへのリンク

于 2012-10-13T17:29:39.787 に答える