gpt4 book ai didi

python - 将截断的 Python float 格式化为字符串中的 int

转载 作者:IT老高 更新时间:2023-10-28 20:34:33 26 4
gpt4 key购买 nike

简单明了:

some_float = 1234.5678
print '%02d' % some_float # 1234

some_float = 1234.5678
print '{WHAT?}'.format(some_float) # I want 1234 here too

注意:{:.0f} 不是一个选项,因为它会四舍五入(在本例中返回 1235)。

format(..., int(some_float)) 正是我想要避免的,请不要这样建议。

最佳答案

值得一提的是如何使用原始格式字符串呈现 float 的内置行为。如果您事先知道小数部分相对于 0.5 的位置,则可以利用您最初尝试但发现它因舍入副作用 "{:0.0f}" 而不足的格式字符串。查看以下示例...

>>> "{:0.0f}".format(1.999)
'2'
>>> "{:0.0f}".format(1.53)
'2'
>>> "{:0.0f}".format(1.500)
'2'
>>> "{:0.0f}".format(1.33)
'1'
>>> "{:0.0f}".format(0.501)
'1'
>>> "{:0.0f}".format(0.5)
'0'
>>> "{:0.0f}".format(0.1)
'0'
>>> "{:0.0f}".format(0.001)
'0'

如您所见,幕后有舍入行为。在我有一个将整数转换为 float 的数据库的情况下,我知道我正在处理一个非小数部分,并且只想在 html 模板中呈现 float 的 int 部分作为解决方法。当然,如果您事先不知道小数部分,则需要先对 float 执行某种截断操作。

关于python - 将截断的 Python float 格式化为字符串中的 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13511612/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com