首页 > 解决方案 > 如何将基于毫米的数字转换为表示哪个部分是米、厘米和毫米的数字?

问题描述

我的代码尝试将数字转换为例如XY厘米和Z毫米。我的代码适用于没有任何零的数字,例如5782,但是当涉及到零的数字时,它将无法正常工作

这是我的代码:

a = 2200
b = a / 1000
print(float(b))
b = str(float(b)).split(".") 
first = b[0] 
print(first,b[1])

c = (float(b[1])/10)
print(c)
c = str(c).split(".")
print(c)

second = (c[0])
third = (c[1])



print("%s Meter %s centimeter %s milimeter"%(first,second,third))
 

结果必须是2 米 20 厘米 0 毫米,但它给了我2 米 0 厘米 2 毫米

我该如何解决那些家伙?

标签: pythontype-conversiontypeconverter

解决方案


你真的,真的,真的不应该使用int转换strsplit删除小数的方法......

所以,我看到你在做的是毫米到米、厘米和毫米。我要做的是math.floor用来删除小数位-

import math
a = 2200
meters = math.floor(a / 1000)
centimeters = math.floor((a - meters * 1000) / 10)
millimeters = math.floor(a - meters * 1000 - centimeters * 10)
print(meters, centimeters, millimeters)

推荐阅读