我做了一个程序,它能把数字除掉,然后返回结果,但问题是当它返回结果时,它有一个小数,像这样:
2.0
但我希望它能给予我:
2
有什么我能做吗?提前致谢!
vawmfj5a1#
可以根据最终结果调用int():
int()
>>> int(2.0) 2
p4tfgftt2#
在Python中,当一个数字是小数时,它通常是float。如果你想去掉小数点并保留整数(int),你可以像这样调用int()方法...
float
int
但是,int向下舍入,所以...
>>> int(2.9) 2
如果要舍入到最接近的整数,可以使用round:
round
>>> round(2.9) 3.0 >>> round(2.4) 2.0
然后调用int():
>>> int(round(2.9)) 3 >>> int(round(2.4)) 2
f0ofjuux3#
您可能会执行以下操作
# p and q are the numbers to be divided if p//q==p/q: print(p//q) else: print(p/q)
lpwwtiir4#
有一个数学函数modf()也可以将其分解。
modf()
import math print("math.modf(3.14159) : ", math.modf(3.14159))
将输出一个元组:math.modf(3.14159) : (0.14159, 3.0)如果您想同时保留整数和小数以供参考,这将非常有用,例如:decimal, whole = math.modf(3.14159)
math.modf(3.14159) : (0.14159, 3.0)
decimal, whole = math.modf(3.14159)
kcugc4gi5#
>>> int(2.0)
您将得到答案2
busg9geu6#
def division(a, b): return a / b if a % b else a // b
l5tcr1uw7#
if val % 1 == 0: val = int(val) else: val = float(val)
这对我很有效。工作原理:如果瓦尔和1的商的余数是0,则val必须是整数,因此可以声明为int而不必担心丢失十进制数。比较以下两种情况:答:
val = 12.00 if val % 1 == 0: val = int(val) else: val = float(val) print(val)
在这个场景中,输出是12,因为12.00除以1的余数是0。根据这个信息,我们知道瓦尔没有任何小数,我们可以声明val为int。B:
val = 13.58 if val % 1 == 0: val = int(val) else: val = float(val) print(val)
这一次的输出是13.58,因为瓦尔除以1后有余数(0.58),因此val被声明为浮点型。只要声明数字为int型(不测试余数),十进制数就会被截断。这样,末尾就不会有零,而且除了零之外,其他的都不会被忽略。
vyu0f0g18#
在Python中有4种方法可以删除小数位,1.使用int()函数1.使用数学库中的trunc()函数1.使用字符串格式和方法1.使用%d占位符1.使用split()函数1.使用round()函数
%d
int()是一个Python Built-in Type函数。
>>> number = 2.0 >>> number 2.0 >>> number = int(2.0) 2 >>> type(number) <class 'int'>
数学库中的trunc()函数。
>>> import math >>> >>> number = 2.0 >>> number 2.0 >>> number = math.trunc(2.0) 2 >>> type(number) <class 'int'>
请注意:-本节中返回的所有内容都是str类型。
str
使用%d占位符格式化字符串
>>> number = 2.0 >>> number 2.0 >>> number = '%d'%number >>> number '2' >>> type(number) <class 'str'>
split()函数是一个字符串方法。
>>> number = 2.0 >>> number 2.0 >>> number=str(number).split('.')[0] >>> number '2' >>> type(number) <class 'str'>
round()是一个内置函数。
>>> number = 2.0 >>> number 2.0 >>> number = round(number) >>> number 2 >>> type(number) <class 'int'>
参考资料:
8条答案
按热度按时间vawmfj5a1#
可以根据最终结果调用
int()
:p4tfgftt2#
在Python中,当一个数字是小数时,它通常是
float
。如果你想去掉小数点并保留整数(
int
),你可以像这样调用int()
方法...但是,
int
向下舍入,所以...如果要舍入到最接近的整数,可以使用
round
:然后调用
int()
:f0ofjuux3#
您可能会执行以下操作
lpwwtiir4#
有一个数学函数
modf()
也可以将其分解。将输出一个元组:
math.modf(3.14159) : (0.14159, 3.0)
如果您想同时保留整数和小数以供参考,这将非常有用,例如:
decimal, whole = math.modf(3.14159)
kcugc4gi5#
您将得到答案2
busg9geu6#
l5tcr1uw7#
这对我很有效。
工作原理:如果瓦尔和1的商的余数是0,则val必须是整数,因此可以声明为int而不必担心丢失十进制数。
比较以下两种情况:
答:
在这个场景中,输出是12,因为12.00除以1的余数是0。根据这个信息,我们知道瓦尔没有任何小数,我们可以声明val为int。
B:
这一次的输出是13.58,因为瓦尔除以1后有余数(0.58),因此val被声明为浮点型。
只要声明数字为int型(不测试余数),十进制数就会被截断。
这样,末尾就不会有零,而且除了零之外,其他的都不会被忽略。
vyu0f0g18#
在Python中有4种方法可以删除小数位,
1.使用int()函数
1.使用数学库中的trunc()函数
1.使用字符串格式和方法
1.使用
%d
占位符1.使用split()函数
1.使用round()函数
1.使用int()函数
int()是一个Python Built-in Type函数。
2.在数学库中使用trunc()函数
数学库中的trunc()函数。
3.使用字符串格式和方法
请注意:-本节中返回的所有内容都是
str
类型。1.使用%d占位符
使用
%d
占位符格式化字符串2.使用split()函数
split()函数是一个字符串方法。
4.使用round()函数
round()是一个内置函数。
参考资料: