相关疑难解决方法(0)

将浮点数限制为两个小数点

我希望a四舍五入到13.95.

>>> a
13.949999999999999
>>> round(a, 2)
13.949999999999999
Run Code Online (Sandbox Code Playgroud)

round功能不像我预期的那样工作.

python floating-point precision rounding

1527
推荐指数
28
解决办法
287万
查看次数

舍入到最接近的整数

我一直试图围绕长浮点数,如:

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)

python

194
推荐指数
7
解决办法
34万
查看次数

将浮点数舍入到最近的整数?

正如标题所示,我想取一个浮点数并将其向下舍入到最接近的整数.但是,如果它不是一个整体,我总是想要舍入变量,无论它与下一个整数的接近程度如何.有没有办法做到这一点?

python floating-point integer rounding

101
推荐指数
7
解决办法
30万
查看次数

如何将浮点数舍入到某个小数位?

假设我有8.8333333333333339,我想将其转换为8.84.我怎样才能在Python中实现这一目标?

round(8.8333333333333339, 2)给予8.83而不是8.84.我是Python新手或一般编程人员.

我不想将其打印为字符串,结果将进一步使用.有关该问题的更多信息,请查看Tim Wilson的Python编程技巧:贷款和付款计算器.

python floating-point

78
推荐指数
8
解决办法
31万
查看次数

如何在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但结果是一样的.

python floating-point precision rounding python-3.x

46
推荐指数
7
解决办法
3万
查看次数

使用math.acos函数的Python数学域错误

我正在使用math.acos()函数:

math.acos(1.0000000000000002)
Run Code Online (Sandbox Code Playgroud)

这会引发数学域错误.有人能说出原因吗?我得到之前计算的这个值,这里这个值给出错误但是如果我在结尾处删除2它不会抛出错误.我没理由这个.

python

3
推荐指数
1
解决办法
1万
查看次数

Python舍入到最接近的0.25

我想将整数舍入到最接近的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 math rounding python-3.x

3
推荐指数
2
解决办法
4681
查看次数

如何在 python(或 django)中正确舍入小数

我试图用下面找到的代码对小数进行四舍五入,但它似乎在 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)。谢谢您,如有任何问题请留下。

python django django-models django-views python-3.x

1
推荐指数
1
解决办法
812
查看次数

如何获得特定的位数?Python

我将如何格式化我的浮点数,以便无论方向如何总是有 7 位数字?

该值可以是以下任何一项,但我总是想要 7 如下

0.0054233
1234567
123.1224
1.992923
Run Code Online (Sandbox Code Playgroud)

我现在拥有的部分是

return "%.7f" % fd
Run Code Online (Sandbox Code Playgroud)

我如何调整它以获得我想要的输出?或者也许将我链接到类似的东西,我可以尝试阅读..>?

python floating-point

0
推荐指数
1
解决办法
1490
查看次数

如何在python中执行向上舍入或舍入浮点数

我需要以这样的方式舍入浮点数,

如果7.4到来,它应该舍入到下一个较低的数字,即7.
如果7.5或7.6来,它应该舍入到下一个更高的数字,即8

我怎样才能做到这一点?我正在使用python 2.7

python python-2.7

-4
推荐指数
1
解决办法
4216
查看次数