python - 浮点表示的模拟

标签 python floating-point mantissa

我正在学习 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/

相关文章:

python - 属性错误: module 'keras.preprocessing' has no attribute 'text'

python - 如何在 Python 中创建具有当前日期和时间的文件名?

python - 如何测试当前目录是否为 $HOME?

c - 在 C 中将 float 转换为处理器内部的 int

java - 在按钮上显示 float

random - IEEE 32 位 float 的映射范围 [1 :2) to some arbitrary [a:b)

c - 使用浮点二进制格式的变量如何存储值 0.0

python - 创建对象后更改其类型(Python 中的类型转换)

c# - C#:指数格式说明符