Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数组中的舍入浮动不适用于>;2位有效数字_Python - Fatal编程技术网

Python 数组中的舍入浮动不适用于>;2位有效数字

Python 数组中的舍入浮动不适用于>;2位有效数字,python,Python,字符串数组: values = [] values.append('49.189999') values.append('48.360001') 然后我转换为float并尝试四舍五入到小数点后4位: roundedValues = [] for v in values : roundedValues.append(round(float(v) , 4)) roundedValues 但是值只需舍入到两个小数点: [49.19, 48.36] 当我用4参数舍入浮点值时,舍入到

字符串数组:

values = []
values.append('49.189999')
values.append('48.360001')
然后我转换为float并尝试四舍五入到小数点后4位:

roundedValues = []  
for v in values : 
    roundedValues.append(round(float(v) , 4))

roundedValues
但是值只需舍入到两个小数点:

[49.19, 48.36]
当我用4参数舍入浮点值时,舍入到的位数应该是4而不是2

打印值
print(float(v))
返回

49.189999
48.360001
round()
将类型保持为
float
,这意味着打印值时,小数点左边的前导0和右边的尾随0都不会显示。如果需要保留它们,则需要更改类型

>>> ['{:.4f}'.format(round(float(v), 4)) for v in values]
['49.1900', '48.3600']
round()
将类型保持为
float
,这意味着打印值时,小数点左边的前导0和右边的尾随0都不会显示。如果需要保留它们,则需要更改类型

>>> ['{:.4f}'.format(round(float(v), 4)) for v in values]
['49.1900', '48.3600']

“如果需要保留它们,则需要更改类型。”我们都使用浮点类型,那么为什么您的版本不忽略有效数字?修复程序是“{.4f}”。format(“?嗯,是的,它改变了类型。“changes The type”不是以浮点开头的类型?它不是以
float
结尾的类型。如果需要保留它们,则需要更改类型。我们都使用浮点类型。为什么您的版本不忽略有效数字?修复程序是“{.4f}”。format(“?嗯,是的,那改变了类型。“改变了类型”是不是以浮点开头?它不是以浮点结尾。