Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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中将-0.00转换为0.00浮点_Python_Xml_File_Floating Point - Fatal编程技术网

在Python中将-0.00转换为0.00浮点

在Python中将-0.00转换为0.00浮点,python,xml,file,floating-point,Python,Xml,File,Floating Point,我正在用Python解析一个带有坐标的XML文件,以编写一个转换后的输出文件。问题是一些坐标是-0.00,我在另一个系统中解析它们时遇到了一些问题。我需要它们是0.00而不是-0.00。我怎么能做到这一点呢 这就是我目前正在做的: for node in nodes: nodeName = node.attrib['name'] nodeParts = nodeName.split('.') nodeName = nodeParts[0] if nodeName

我正在用Python解析一个带有坐标的XML文件,以编写一个转换后的输出文件。问题是一些坐标是-0.00,我在另一个系统中解析它们时遇到了一些问题。我需要它们是0.00而不是-0.00。我怎么能做到这一点呢

这就是我目前正在做的:

for node in nodes:
    nodeName = node.attrib['name']
    nodeParts = nodeName.split('.')
    nodeName = nodeParts[0]

    if nodeName == 'scene':
        f.write(nodeParts[1] + '\t')

        position = node.find('position')
        f.write('%.2f ' % float(position.attrib['x']))
        f.write('%.2f ' % float(position.attrib['y']))
        f.write('%.2f\n' % float(position.attrib['z']))

也许您可以在将字符串解析为数字之前拆分它?只需从输入中删除“-”。

如果值等于零(正或负),则取绝对值:

>>> x = float('-0.0')
>>> x
-0.0
>>> abs(x)
0.0
您不需要
abs()


您可以使用负零与正零比较相等的事实:

def f(x):
   return 0. if x == 0. else x
这会将
-0.
变为
0.
,并保持其他数字不变

def f(x):
   return 0. if x == 0. else x