Python中整数相除转字符串拼接时如何去除.0后缀?
问题原因
Python 3 中 / 运算符默认执行浮点数除法,即便是两个整数可以完全整除,运算结果也会是 float 类型,转成字符串时就会自带 .0 后缀,和你预期的整数格式不符。
解决方法
有两种常用方案适配不同场景:
方案1:替换为整数除法运算符
如果你确认运算的两个数是可以整除的,直接把代码里的/替换为//即可,//是Python的整数除法运算符,整除场景下会直接返回int类型的结果,修改后代码如下:str1 = '' int1 = 4 int2 = 16 int3 = 32 int4 = 64 int5 = int4 // int3 int6 = int2 // int1 str1 += str(int5) str1 += str(int6) print(str1)运行后输出就是你预期的
24。方案2:运算结果强转int后再转字符串
如果你不确定除法会不会有余数,但就是要舍弃小数部分保留整数部分,可以在转字符串前先把float结果转成int类型,不需要修改除法运算符,修改逻辑如下:str1 += str(int(int5)) str1 += str(int(int6))
内容的提问来源于stack exchange,提问作者Lauchrinx007
相关产品推荐
相关产品推荐

