如何从浮点数中删除最左边的数字?

问题描述

我试图使用Python在bash shell中打印亚秒级计时。

这与how-to-get-execution-time-of-a-script-effectively有关。我在macOS上,bash在那里不提供亚秒级计时。

例如,如果我使用python -c 'from time import time; print(f"{time():.3f}")',我将得到:

1603052253.465

python -c 'from time import time; print(f"{time():4.3f}")'具有相同的输出行为。

现在,这很吵。我真的不需要一步一步地查看所有最左位的数字。

我写了一个新脚本,它做得更好:

$ time4bash.py

 2325.987

$ time4bash.py

 2328.201


但是执行此操作的代码比我希望的要复杂得多。

from time import time
time_ = time()
stime = f"{time_:.3f}"

#look for decimal separator,and this will break on `,` locales
pos = stime.index(".")
tstime = stime[pos-4:]

print(tstime)

使用字符串格式标志或取模数学是否有更好的方法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)