删除整数并仅在Python中显示小数点?

时间:2013-05-23 04:30:15

标签: python integer decimal rounding

我正在尝试计算数字的平方根,看起来像这样:

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?”

1 个答案:

答案 0 :(得分:3)

您可以使用divmod将数字拆分为整数部分和小数部分:

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

所以,

intpart,decimalpart = divmod(number,1)

我想让这个用于负数,你需要像:

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

或更简洁:

decimalpart = abs(number) % 1