5

これに入れられる数値を、小数点以下 2 桁または 3 桁の浮動小数点数、固定小数点数としてフォーマットしたいと考えています。ただし、私のコードは機能しません

class Quake:
    """Earthquake in terms of latitude, longitude, depth and magnitude"""

    def __init__(self, lat, lon, depth, mag):
        self.lat=lat
        self.lon=lon
        self.depth=depth
        self.mag=mag

    def __str__(self):
        return "M{2.2f}, {3.2f} km, lat {3.3f}\N{DEGREE\
         SIGN lon {3.3f}\N{DEGREE SIGN}".format(
            self.mag, self.depth, self.lat, self.lon)

これにより、次のエラー メッセージが生成されます。

'AttributeError: 'float' object has no attribute '2f''
4

1 に答える 1

3

形式コードに番号を付ける必要があります。{また、新しいフォーマット コードを使用して本当に印刷したい場合は、double を使用し{{てフォーマットをエスケープする必要があります。

"M{0:2.2f}, {1:3.2f} km, lat {2:3.3f}N{{DEGREE SIGN}} lon {3:3.3f}\N{{DEGREE SIGN}}".format(
self.mag, self.depth, self.lat, self.lon)
于 2013-04-25T20:12:38.517 に答える