python - 如何将基于毫米的数字转换为表示哪个部分是米、厘米和毫米的数字?
问题描述
我的代码尝试将数字转换为例如X米Y厘米和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 毫米
我该如何解决那些家伙?
解决方案
你真的,真的,真的不应该使用int
转换str
和split
删除小数的方法......
所以,我看到你在做的是毫米到米、厘米和毫米。我要做的是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)
推荐阅读
- javascript - React callbackRef.current 不是函数
- javascript - Calling React/Webpack module code from Node
- css - Vuetify 没有 vue-cli sass/scss 冲突
- c++ - 部分覆盖文件描述符的内容
- python - 如何对多个列进行分组并在不同列上聚合差异?
- kotlin - Kotlin 解构声明:直接将解构值作为参数传递
- mediawiki - 了解维基媒体转储
- java - 我在输出窗口中变得如此冗长。Apache Netbeans 12
- c# - 解析日期时间字符串会产生意外结果
- matlab - 牛顿插值:从划分的差异表中找到多项式的值