我正在尝试计算数字的平方根,看起来像这样:
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?”
答案 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