我正在学习 Python 入门类(class),我们有一个作业要求我们模拟 float 的存储方式。
基本上,我们必须展示 5 位尾数。例如,您输入 123
,结果必须为 12300
。如果您输入 12345678
它必须以 12345
形式出现。如何才能做到这一点?是否有这样的功能,或者只是格式问题?请记住,这是入门类(class),我们不允许使用任何外部库。
最佳答案
您可以使用Python的string formatting functionality:
'{:<05d}'.format(number)[:5]
一些例子:
>>> '{:<05d}'.format(123)[:5]
'12300'
>>> '{:<05d}'.format(12345678)[:5]
'12345'
一些说明:
-
<
表示:将数字靠左对齐。 -
0
表示:使用0
作为填充字符。 -
5
表示:将宽度设置为至少 5。 -
d
表示:它是十进制。
由于数字可能超过五位数,我们通过 [:5]
只获取前五个字符。这称为 slice notation,它允许您获取字符串的一部分。
关于python - 浮点表示的模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819911/