0

私の調査を行い、いくつかの改善を行い、この問題の解決に非常に近づきましたが、今は行き詰まっており、助けが必要です.

タスク: 文字列 float のリストを小数点以下 2 桁の float に変換するには

元のリスト:

mylist = ['17.21', '33.40', '24.39', '3.48', '1.02', '0.61', '18.03', '1.84']

標的

mylist = [17.21, 33.40, 24.39, 3.48, 1.02, 0.61, 18.03, 1.84]

私のスクリプトの試み

mylisttwo = map(float, mylist)

これをくれた

[17.21, 33.4, 24.39, 3.48, 1.02, 0.60999999999999999, 18.03, 1.84]

それから私はそれをidフォーマットだと思った

floatlist = []
for item in mylisttwo:
    floatlist.append("{0:.2f}".format(item))

しかし、それは私に文字列浮動小数点数のリストを再び与えました!! ああああ

['17.21', '33.40', '24.39', '3.48', '1.02', '0.61', '18.03', '1.84']

ここで何が間違っていますか?

ありがとう

4

4 に答える 4

5

[round(float(i), 2) for i in mylist]

これはうまくいくはずです。形式は、 のように、文字列を他の文字列に挿入するためのものです"Hello, {}! What is your favourite {}?".format("Jim", "colour")

数値を小数点以下 2 桁までにしたい場合は、decimal モジュールを使用できます。

于 2013-08-09T14:45:39.703 に答える