変数には次の値が保存されます:$10.00
そして、これを取得する必要がある10.00
この値をフロートに変換しようとしました:
new_price = '%.2f' % (price.to_f)
ただ0.0
。
それのどこが悪いんだい?私も試しました
price = price.strip
price[0]=""
new_price = '%.2f' % (price.to_f)
しかし、これでも私を助けませんでした...問題はどこにありますか?
ありがとう
最初に$
を削除する必要があります。このようなものはすべて:
'%.2f' % '$10.00'.delete( "$" ).to_f
または
'%.2f' % '$10.00'[1..-1].to_f
あなたが密度が好きで、非ドルに遭遇するかもしれないなら。
変数に設定するには:
current_price= '%.2f' % '$10.00'.delete( "$" ).to_f
より一般的なエラーは、10,000.00のような文字列にコンマがある千単位の値です。コンマは同じ切り捨てエラーを引き起こしますが、小数は発生せず、多くのプログラマーはそれをキャッチさえしません(もうコンマに気付かないでしょう)。それを修正するには:
current_price= '%.2f' % '10,000.00'.delete( "," ).to_f