这段代码给了我一个字符串,我可以轻松地将其转换为浮点值,但当值为2,325.45时会出现问题。代码抛出一个错误,说它无法读取浮点值中的逗号。我需要将此值与固定值1000.00进行比较。我该怎么做 这是代码。
import pyttsx
import time
import urllib2
from bs4 import BeautifulSoup as soup
engine=pyttsx.init()
rate = engine.getProperty('rate')
engine.setProperty('rate', rate-70)
while True:
time.sleep(2)
req = urllib2.Request('https://in.finance.yahoo.com/quote/TCS.NS /?p=TCS.NS')
response = urllib2.urlopen(req)
the_page = response.read()
#print the_page
page=soup(the_page,"html.parser")
new=page.findAll("span",{"class":"Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)"})[0].string
print new
engine.say(new)
engine.runAndWait()
答案 0 :(得分:2)
您首先应该从数字字符串中删除逗号,
,然后将其输入到float
。例如:
>>> num_str = '2,325.45'
>>> float(num_str.replace(',', ''))
2325.45
答案 1 :(得分:0)
使用re.sub
>>> import re
>>> num_str = '2,325.45'
>>> float(re.sub(',','',num_str))
2325.45