0

数値の平方根を次のように計算しようとしています。

Enter number for square root: 2
---------------------------------
.41

しかし、私が持っている現在のコードでは:

def calc(self, event=None):
    try:
        self.result_var.set("The square root of %s is %0.2f" % \
            (self.number.get(), sqrt(float(self.number.get()))) )

私は1.41を取得します。

「1」を削除して「.41」のみを表示するにはどうすればよいですか?

4

1 に答える 1

4

を使用divmodして、数値を整数部分と小数部分に分割できます。

>>> divmod(1.41,1)
(1.0, 0.4099999999999999)

それで、

intpart,decimalpart = divmod(number,1)

これを負の数に対して機能させるには、次のようなものが必要だと思います。

_,decimalpart = divmod(abs(number),1)

またはより簡潔に:

decimalpart = abs(number) % 1
于 2013-05-23T04:47:44.287 に答える