python - Python f-string 在浮点数上的惊人结果
问题描述
我正在尝试以定点表示法格式化浮点数:x.xxx,小数点后的三位数字,无论数字的值如何。我得到了令人惊讶的结果。特别是第一个建议它给了我三个重要的位置,而不是小数点后的三个数字。我如何告诉它我真正想要的是什么?
>>> print(f"{.0987:5.03}")
0.0987
*expected: 0.099*
>>> print(f"{0.0:05.03}")
000.0
*expected: 0.000*
>>> print(f"{0.0:5.3}")
0.0
解决方案
# added "3f" to specify decimals places
print(f"{.0987:5.3f}")
#expected: 0.099*
print(f"{0.9687:05.3f}")
#expected: 0.000*
print(f"{0.0:5.3f}")
推荐阅读
- javascript - Chrome 窗口随机禁用键盘命令和事件
- php - 在控制器中获取树枝部分标记会引发错误?
- c++ - 我想预先增加对变量的赋值(按值预先增加超过 1)?
- javascript - 单选按钮在 IE 中不切换
- reactjs - 在 setState 中使用回调函数
- excel - 使用 VBA 将 PDF(仅限 Acrobat Reader DC)读取到 Excel
- bash - 在规则中的 if 条件之后使用变量
- sql - SQL:“条件不为真”模式替代“为空或不是(条件)”
- c# - 使用 MSBuild 发布 WPF ClickOnce 项目的问题
- android - ExoPlayer 播放视频时间过长