对于我的第一个编程'项目'我正在制作一个简单的程序,要求用户输入澳元金额,它将转换为中国人民币。我发现一些代码可以从网站上删除当前的转化率,但它的格式为CNY/AUD = 5.75218
。我只想提取5.75218
数字乘以用户输入。我做了很多搜索,无法找到解决方案。任何建议将不胜感激!!
from lxml import html
import requests
import re
page = requests.get('http://themoneyconverter.com/AUD/CNY.aspx')
tree = html.fromstring(page.text)
rate = (tree.xpath('//textarea[@id="ratebox"]/text()'))
print 'The Exchange Rate is: ', rate
答案 0 :(得分:2)
我认为rate
是CNY/AUD = 5.75218
。在处理资金时,我建议使用Decimal
来准确表示十进制数字:
from decimal import Decimal
...
rate = Decimal(rate.split()[2])
事实上,请尝试考虑以下事项。想象一下,你总是有收入
0.1 + 0.1 + 0.1
现在假设您的付款总是为0.3。数学说你的收入等于0:
0.1 + 0.1 + 0.1 - 0.3 = 0
想象一下,您有10**20
次这样的情景:
(0.1 + 0.1 + 0.1 - 0.3) * 10**20 = 0
您的收入仍然等于0.现在尝试在python shell中执行此操作并假设我们正在谈论美元:
(0.1 + 0.1 + 0.1 - 0.3) * 10**20 = ?
你刚刚赚了大约5551美元。
答案 1 :(得分:1)
您可以使用split
方法。
对于rate = "CNY/AUD = 5.75218"
,您可以尝试以下代码
rate = rate.split()
使rate
成为['CNY/AUD', '=', '5.75218']
。然后在rate
中选择第3个元素并将其转换为float:
rate = float(rate[2])
有关split
。