在变量中存储此值:$10.00
我需要得到10.00
我试图将此值转换为float:
new_price = '%.2f' % (price.to_f)
但我只是0.0
。
这有什么问题? 我也试过了
price = price.strip
price[0]=""
new_price = '%.2f' % (price.to_f)
但即使这对我没有帮助......哪里有问题?
由于
答案 0 :(得分:23)
您需要先删除$
。整件事情都是这样的:
'%.2f' % '$10.00'.delete( "$" ).to_f
或
'%.2f' % '$10.00'[1..-1].to_f
如果你喜欢密度并且可能会遇到非美元。
答案 1 :(得分:0)
将其设置为变量:
current_price= '%.2f' % '$10.00'.delete( "$" ).to_f
更常见的错误是数千的值,其中字符串中有逗号,如:10,000.00。逗号将导致相同的截断错误,但小数不会,并且许多程序员甚至都不会捕获它(我们甚至不再注意到逗号)。解决这个问题:
current_price= '%.2f' % '10,000.00'.delete( "," ).to_f
答案 2 :(得分:-1)
加上弗里德里克的答案:
您需要先删除$。整件事情都是这样的:
ggplot() +
geom_map(data=county2, map=county2, aes(x=long, y=lat, map_id=subregion), col="white", fill="grey")
或
'%.2f' % '$10.00'.delete( "$" ).to_f
如果你喜欢密度并且可能会遇到非美元。 您需要格式化输出代码,以确保获得两个小数位> with
您需要格式化输出字符串以确保获得两位小数。
'%.2f' % '$10.00'[1..-1].to_f