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 回答