我正在尝试获取气压读数,并用最后两位数字显示出来。但是,当我使用模数时:
--> x = 1004
--> x % 100
--> 4
这只会生成4。 如何显示此数字以显示04而不是4?
谢谢!
答案 0 :(得分:3)
如果您需要将其用作整数或浮点数,我认为这是不可能的。如果仅用于显示目的,请将其转换为字符串并采用最后2个字符:
app.component
答案 1 :(得分:3)
请尝试以下操作:
str(x%100).zfill(2)
答案 2 :(得分:0)
答案 3 :(得分:0)
最简单的方法是'%02d' % (x % 100)
答案 4 :(得分:0)
如果仅打印一个数字,它将以其默认格式打印出来。对于数字2
,显然是2
,而不是02
。
如果要指定自定义格式,则需要使用某种形式的字符串格式。 Python有几种实现方法。
Format String Syntax函数,format
方法,str.format
子类和(此处略有不同,略有不同)Formatter
函数,{{3} 3}}。
您可以指定width
中的2
,再加上align
中的=
(意思是数字对齐-在任何+
或{{ 1}})和-
中的fill
。但是,还有一个特殊的快捷方式,其中在0
之前放置0
表示数字对齐的零填充。所以:
width
>>> f"{x % 100:02}"
'02'
>>> format(x % 100, '02')
'02'
>>> '{:02}'.format(x % 100)
'02'
样式的字符串格式 Python有一种较旧但有时仍然有用的格式化方法, 1 与C语言和类似语言的匹配更紧密,调用了f-string literals或printf
-格式。
您可以指定%
的{{1}}和width
的{{1}}(表示数字零填充)以及{{1} 1}},以指定您要将数字设置为带符号的整数十进制格式:
2
尽管flag
格式不像格式字符串那样灵活和强大,但有时它更易于理解(特别是如果您习惯使用C或其他语言),通常更快,并且可以与0
和type
。
最后,您始终可以将数字转换为字符串,然后在其上使用字符串方法。例如,您可以使用printf
-style方法对字符串进行零填充:
d
…,或者您可以使用zfill
方法以>>> "%02d" % (x % 100,)
'02'
作为填充字符对其右对齐:
%
实际上,您无需计算余数,只需将整个内容转换为字符串,然后截断然后填零即可。
bytes
…尽管str
可能不是您想要的,例如>>> str(x % 100).zfill(2)
'02'
(您将得到'0'
而不是>>> str(x % 100).rjust(2, '0')
'02'
)。
1。实际上,它提供了两个较早的解决方案,另一个是rjust
,但是这些解决方案并不常用。
答案 5 :(得分:0)
x = 1004
x = x % 100
str(x)
y = len(x)
if y == 0:
end
elif y == 2:
print (x)
elif y == 1:
print ('0'x)
else:
x = str(x)[-2:]
print (x)
在此,我将其转换为字符串并计算了值的长度为“ y ”。使用基本的[ ifif else ]结构,我以您的格式的形式返回了值,但以 strings 的形式返回了。
不清楚要使用这些值的原因,因为如果希望它们代表数字,则可能需要编辑正在使用的任何输出应用程序的设置。一种替代解决方案是使用“ x”的值与字符串不同,以便无论打印时如何显示数字值,仍可以使用该数字值。 眨眼,眨眼。
答案 6 :(得分:0)
没有模数,没有 zfill。
"{:02d}".format(12345)[-2:]
#> 45
"{:02d}".format(0)[-2:]
#> 00
"{:02d}".format(-9876)[-2:]
#> 76
"{:02d}".format(-1)[-2:]
#> -1
答案 7 :(得分:-1)
使用模运算符查找最低两位有效数字的第一步是正确的。
然后,在打印结果时,您将需要使用格式字符串来填充结果。参见:Python format Integer into fixed length strings