2017-03-17 21 views
0

Pythonの新機能と一般的なコーディング。自分自身を教えて、Pythonでさまざまな出力を試してみてください。私は今日混乱していて、私が定義した浮動小数点形式への文字列値と考えるものを2つ計算しようとしました。Pythonで整数を含む2つの文字列値を追加する

a = "%.2f" %x + str(float(14.00)) 

戻っ '3.3514.0'

a = "%.2f" %x , str(float(14.00)) 

リターン( '3.35、'14 .0')

私はこれらの2つの値を分離することができましたが、私は、適切に取得することができませんでした計算された17.75の値。私はx(= 3.3456)を小数点以下2桁( "%.2f"%x)に丸めて浮動小数点値14.00(浮動小数点(14.00))を取り込み、これらの2つを足し合わせてa。 2つの小数+フロート(14.00)に= xと。 私が間違って何をしているのですか?

-Alfa

+0

数値加算を期待する文字列を追加することはできません。どちらも 'float'または' int'でなければなりません。両方が 'str'の場合、数値の加算は行われません。 – Rohanil

答えて

0

a = "%.2f" %x + str(float(14.00)) 

しかし

a = ""%.2f" % str(float(14.00)) 

以上(ではありません)

'here {} '.format(str(float(14.00))) 
1

あなただけのこれらの2つの文字列をCONCATしようとしている最初のケースでは、この
=フロート( "%。2fには" %X)+フロート(14.00)

0

を試してみてください。文字列に使用されるPythonの「+」は、「最初の文字列の最後に2番目の文字列を追加する」という意味です。そのため、醜い結果になっています。私は、文字列、次の使用文字列の整形から値をカウントすることをお勧めしますが、あなたはそれを行う必要がある場合、それは何かのようにすることができます:誰かが述べたように、

a = '%.2f' % str(float_value1 + float_value2)` 

より良い解決策は .format を使用することです。

+0

ありがとうございました。あなたの答えと今日のこの価値について考えると、最初の価値は確かに文字列であり、それが問題の原因を理解することができなかった理由です。もう一度、ありがとうございました。 – AlfaMas

関連する問題