截断一个数字并获取删除的值。还是转换为 int?
Trunc a number and get removed value. Or cast to int?
我尝试获取 math.trunc
函数中删除的部分。
或者一个函数支持这个请求。
import math
number = 1.9
newnumber, removed = math.trunc(number)
我需要号码 = 1
以及删除的 0.9
所以基本上我需要整数和删除的浮点数。
以上示例将不起作用:/
有什么建议吗?
作为起点,使用模数 1 得到删除的部分。
def truncate(n):
return math.trunc(n), n % 1
然后你要考虑如何处理负数。他们 return 是一个正的“移除”值吗?
此方法不适用于负数,相反,您可以从原始数中减去截断数:
t = math.trunc(n)
return t, n - t
您需要保留截断数字的句柄,并将其从原始数字中减去:
import math
number = 1.9
truncated = math.trunc(number)
print(truncated, number - truncated)
如果您使用 modf,您可以翻转变量的顺序并获得您想要的结果。
import math
number = 1.9
removed, newnumber = math.modf(number)
我尝试获取 math.trunc
函数中删除的部分。
或者一个函数支持这个请求。
import math
number = 1.9
newnumber, removed = math.trunc(number)
我需要号码 = 1
以及删除的 0.9
所以基本上我需要整数和删除的浮点数。
以上示例将不起作用:/ 有什么建议吗?
作为起点,使用模数 1 得到删除的部分。
def truncate(n):
return math.trunc(n), n % 1
然后你要考虑如何处理负数。他们 return 是一个正的“移除”值吗?
此方法不适用于负数,相反,您可以从原始数中减去截断数:
t = math.trunc(n)
return t, n - t
您需要保留截断数字的句柄,并将其从原始数字中减去:
import math
number = 1.9
truncated = math.trunc(number)
print(truncated, number - truncated)
如果您使用 modf,您可以翻转变量的顺序并获得您想要的结果。
import math
number = 1.9
removed, newnumber = math.modf(number)