2016-09-07 10 views
0

文字列から数値を作る必要があります。これはうまく動作「不要な」桁の浮動小数点

Float(string_var) rescue nil 

、しかし私は小さな、小さな問題があります:私はよく知ら機動探して、このようなものを使用することができません。文字列が"2.50"の場合、変数Iは2.5になります。最後に '不要な' 0桁のFloatオブジェクトを作成することも可能ですか?文字通り"2.50"2.50に翻訳できますか?

+0

フロート(「2,50」)レスキューnilは、私が質問を編集していない2,5 – tes

+0

nilを与え、その正当性が今 – Leo

+0

私が知る限り、あなたは 'printf("%2f "、theFloat)'を探しているようです。最後の0がそこにあります( '2.5 == 2.50 == 2.500000000')、普通の浮動小数点値を出力すると表示されないと思います。 – jonhopkins

答えて

2

簡潔に言えば、フロートが検査されたとき、フロートのto_s関数を使用して、ゼロを引きずることなく答えを引き出すという質問に答えます。

浮動小数点数は常にあなたが望む任意の方法で解釈できる数値を与えます。あなたの例では、は浮動小数点値を取得します(解析可能な浮動小数点数の文字列を指定します)。あなたが求めているのは、その値をに表示する方法です。の後にゼロが続きます。これを行うには、float値を文字列に戻します。

それを達成するために

最も簡単な方法は、あなたの回答者の1で指定された書式を使用することで、すなわち

string_var = "2.50" 
float_value = Float(string_var) rescue nil # 2.5 
with_trailing_zeroes = "%0.2f" % float_value # '2.50' 
関連する問題