-1

TypeError: 'float' オブジェクトを暗黙的に str に変換できません

print("\nYou will make {:.2f}".format(score * live - BIN))
4

3 に答える 3

1

float を str に暗黙的に変換することはできません。:)

数値部分を でラップする必要がありますstr。または、さらに良いのは、文字列の書式設定を使用することです:

print("\nYou will get {}".format((score + power) - BIN))
于 2013-10-29T17:12:09.403 に答える
1

(score + power)式の結果はfloat値になり、それを で文字列に連結しようとしています+。値を文字列に暗黙的に変換する必要があるため、これを行うことはできません。

印刷するときはコンマを使用します。

print("\nYou will get", (score + power) - BIN)

関数でprint()これを変換するか、文字列の書式設定を使用します (これにより、フロートの書式設定をより詳細に制御できます)。

print("\nYou will get {:.2f}".format((score + power) - BIN))

または、それを完全なプログラムに適用します。

BIN = float(input("\nEnter the buy-it-now price of the item: £"))
Postage = float(input("\nEnter the shipping & handling cost of the item: £"))

eBayFee = (BIN + Postage) / 10
PayPalFee = ((3.4 * BIN) / 100) + 0.2

print ("\nYou will be charged £{:.2f} eBay fees and £{:.2f} PayPal fees.".format(eBayFee, PayPalFee))

print("\nYou will make {:.2f}".format(BIN - eBayFee - PayPalFee))

数値を小数点以下 2 桁に丸めるのはフォーマットであることに注意してください。式も修正しました。おそらく「利益」は、バイイット ナウの価格から eBay と PayPal の手数料を差し引いたものであり、組み合わせた手数料から BIN を差し引いたものではありません。

于 2013-10-29T17:14:28.873 に答える
0

float を文字列に変換します。

print("\nYou will get "+  str(score + power - BIN))
于 2013-10-29T17:13:33.530 に答える