相关疑难解决方法(0)

浮点数学是否破碎?

请考虑以下代码:

0.1 + 0.2 == 0.3  ->  false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2         ->  0.30000000000000004
Run Code Online (Sandbox Code Playgroud)

为什么会出现这些不准确之处?

language-agnostic math floating-point floating-accuracy

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

如何格式化小数以始终显示2位小数?

我想要显示:

4949.00

和:

54.954.90

无论小数的长度或是否有任何小数位,我想显示Decimal2位小数,我想以有效的方式做到这一点.目的是显示货币价值.

例如, 4898489.00

python string-formatting

214
推荐指数
9
解决办法
40万
查看次数

如何用Python舍入到2位小数?

我在这段代码的输出中得到了很多小数(华氏温度到摄氏温度转换器).

我的代码目前看起来像这样:

def main():
    printC(formeln(typeHere()))

def typeHere():
    global Fahrenheit
    try:
        Fahrenheit = int(raw_input("Hi! Enter Fahrenheit value, and get it in Celsius!\n"))
    except ValueError:
        print "\nYour insertion was not a digit!"
        print "We've put your Fahrenheit value to 50!"
        Fahrenheit = 50
    return Fahrenheit

def formeln(c):
    Celsius = (Fahrenheit - 32.00) * 5.00/9.00
    return Celsius

def printC(answer):
    answer = str(answer)
    print "\nYour Celsius value is " + answer + " C.\n"



main()
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如何使程序围绕小数点后两位的每个答案?

python rounding

179
推荐指数
14
解决办法
50万
查看次数

如何在Python中将数字舍入为有效数字

我需要对浮点数进行舍入以在UI中显示.例如,一个重要人物:

1234 - > 1000

0.12 - > 0.1

0.012 - > 0.01

0.062 - > 0.06

6253 - > 6000

1999年 - > 2000年

有没有一种很好的方法可以使用Python库来实现这一点,还是我必须自己编写?

python math rounding

130
推荐指数
9
解决办法
16万
查看次数

将浮点数转换为特定精度,然后复制到字符串

我说有一个浮点数135.12345678910.我想将该值连接到字符串,但只想要135.123456789.通过打印,我可以通过以下方式轻松完成此操作:

print "%.9f" % numvar
Run Code Online (Sandbox Code Playgroud)

numvar我的原始号码.是否有捷径可寻?

python string floating-point

129
推荐指数
5
解决办法
26万
查看次数

Python中的round()似乎没有正确舍入

round()函数的文档声明您传递一个数字,并将小数点后的位置传递给round.因此它应该这样做:

n = 5.59
round(n, 1) # 5.6
Run Code Online (Sandbox Code Playgroud)

但是,实际上,良好的旧浮点怪异爬进来,你会得到:

5.5999999999999996
Run Code Online (Sandbox Code Playgroud)

出于UI的目的,我需要显示5.6.我在互联网上搜索并发现一些文档,这取决于我的Python实现.不幸的是,这发生在我的Windows开发机器和我尝试过的每台Linux服务器上.在这里也看到.

没有创建我自己的圆形库,有什么方法可以解决这个问题吗?

python floating-point rounding

114
推荐指数
9
解决办法
21万
查看次数

在Python中显示带有两个小数位的浮点数

我有一个函数采用浮点数参数(通常是带有一个有效数字的整数或小数),我需要输出一个带有两个小数位(5 - > 5.00,5.5 - > 5.50等)的字符串中的值.我怎么能用Python做到这一点?

python string floating-point programming-languages

107
推荐指数
9
解决办法
25万
查看次数

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

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

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

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

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

python floating-point

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

舍入浮点数到x小数?

有没有办法将python float舍入到x小数?例如:

>>> x = roundfloat(66.66666666666, 4)
66.6667
>>>x = roundfloat(1.29578293, 6)
1.295783
Run Code Online (Sandbox Code Playgroud)

我已经找到了修剪/截断它们的方法(66.666666666 - > 66.6666),但不是圆形(66.666666666 - > 66.6667).

python math rounding

62
推荐指数
2
解决办法
9万
查看次数