我希望a四舍五入到13.95.
>>> a
13.949999999999999
>>> round(a, 2)
13.949999999999999
Run Code Online (Sandbox Code Playgroud)
该round功能不像我预期的那样工作.
我一直试图围绕长浮点数,如:
32.268907563;
32.268907563;
31.2396694215;
33.6206896552;
...
Run Code Online (Sandbox Code Playgroud)
到目前为止没有成功.我试过了math.ceil(x),math.floor(x)(虽然那会向上或向下舍入,这不是我正在寻找的)并且round(x)哪些都不起作用(仍然是浮点数).
我能做什么?
编辑:代码:
for i in widthRange:
for j in heightRange:
r, g, b = rgb_im.getpixel((i, j))
h, s, v = colorsys.rgb_to_hsv(r/255.0, g/255.0, b/255.0)
h = h * 360
int(round(h))
print(h)
Run Code Online (Sandbox Code Playgroud) 正如标题所示,我想取一个浮点数并将其向下舍入到最接近的整数.但是,如果它不是一个整体,我总是想要舍入变量,无论它与下一个整数的接近程度如何.有没有办法做到这一点?
假设我有8.8333333333333339,我想将其转换为8.84.我怎样才能在Python中实现这一目标?
round(8.8333333333333339, 2)给予8.83而不是8.84.我是Python新手或一般编程人员.
我不想将其打印为字符串,结果将进一步使用.有关该问题的更多信息,请查看Tim Wilson的Python编程技巧:贷款和付款计算器.
我正面临着一个奇怪的round()功能行为:
for i in range(1, 15, 2):
n = i / 2
print(n, "=>", round(n))
Run Code Online (Sandbox Code Playgroud)
此代码打印:
0.5 => 0
1.5 => 2
2.5 => 2
3.5 => 4
4.5 => 4
5.5 => 6
6.5 => 6
Run Code Online (Sandbox Code Playgroud)
我希望浮动值总是向上舍入,而是舍入到最接近的偶数.
为什么会出现这种行为,以及获得正确结果的最佳方法是什么?
我尝试使用fractions但结果是一样的.
我正在使用math.acos()函数:
math.acos(1.0000000000000002)
Run Code Online (Sandbox Code Playgroud)
这会引发数学域错误.有人能说出原因吗?我得到之前计算的这个值,这里这个值给出错误但是如果我在结尾处删除2它不会抛出错误.我没理由这个.
我想将整数舍入到最接近的0.25十进制值,如下所示:
import math
def x_round(x):
print math.round(x*4)/4
x_round(11.20) ## == 11.25
x_round(11.12) ## == 11.00
x_round(11.37) ## == 11.50
Run Code Online (Sandbox Code Playgroud)
这在Python中给出了以下错误:
Invalid syntax
Run Code Online (Sandbox Code Playgroud) 我试图用下面找到的代码对小数进行四舍五入,但它似乎在 python(django) 中无法正常工作。这是代码:
import math
def round_up(n, decimals=0):
multiplier = 10 ** decimals
return math.ceil(n * multiplier) / multiplier
Run Code Online (Sandbox Code Playgroud)
以下是我运行该函数时得到的一些结果:
print(round_up(20.232, 2))
print(round_up(20.211, 2))
print(round_up(20.4, 2))
20.24
20.22
20.4
Run Code Online (Sandbox Code Playgroud)
然而,由于某种原因,当我输入 80.4 时,我得到了一个奇怪的值。我得到的是 80.41 而不是 80.4:
print(round_up(80.4, 2))
80.41
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以在 python(django) 中四舍五入小数?我已经从网上得到了这个,所以除了我上面提到的问题(输入80.4)之外,可能还有其他一些问题。基本上,我只想像上面那样将小数四舍五入到第二个小数点(但当然,四舍五入 80.4 或 20.3 分别只是 80.4 和 20.3)。谢谢您,如有任何问题请留下。
我将如何格式化我的浮点数,以便无论方向如何总是有 7 位数字?
该值可以是以下任何一项,但我总是想要 7 如下
0.0054233
1234567
123.1224
1.992923
Run Code Online (Sandbox Code Playgroud)
我现在拥有的部分是
return "%.7f" % fd
Run Code Online (Sandbox Code Playgroud)
我如何调整它以获得我想要的输出?或者也许将我链接到类似的东西,我可以尝试阅读..>?
我需要以这样的方式舍入浮点数,
如果7.4到来,它应该舍入到下一个较低的数字,即7.
如果7.5或7.6来,它应该舍入到下一个更高的数字,即8
我怎样才能做到这一点?我正在使用python 2.7
python ×10
rounding ×4
python-3.x ×3
precision ×2
django ×1
django-views ×1
integer ×1
math ×1
python-2.7 ×1