当前位置: 首页 > 面试题库 >

从浮点数中删除尾随的“ .0”

鱼锦
2023-03-14
问题内容

我正在寻找一种将数字转换为字符串格式的方式,删除任何多余的“ .0”

输入数据是浮点数和字符串的混合。所需的输出:

0->‘0’

0.0->‘0’

0.1->‘0.1’

1.0->‘1’

我想出了以下生成器表达式,但是我想知道是否有更快的方法:

(str(i).rstrip('.0') if i else '0' for i in lst)

进行真值检查可防止0变成空字符串。

编辑:我现在或多或少可以接受的解决方案是这样的:

('%d'%i if i == int(i) else '%s'%i for i in lst)

似乎没有一种优雅的方法可以在python中处理这种(相当简单)的情况,这似乎很奇怪。


问题答案:
(str(i)[-2:] == '.0' and str(i)[:-2] or str(i) for i in ...)


 类似资料:
  • 我的java程序中有一些浮点变量: 在我的计算中,浮点变量小数点后的位数会增加或减少,以保持精度。例如,在一些计算系统之后。出来println(var1);可打印: 或 或 我想将这些值四舍五入到小数点后的3位,并删除后续的小数位数,以便对float进行四舍五入,如下所示: 据我所知,数字格式和字符串。format()以格式化字符串的形式返回输出。如何将输出作为四舍五入浮点,以便在计算中进一步使用

  • 我正在尝试设置一个 nodemcu 模块来收集来自温度传感器的数据,并使用 mqtt pubsubclient 将其发送到我的 mqtt 代理,但这不是问题所在。 我正在尝试以只有一个小数的格式发送温度,此时我已经成功地将其向上或向下舍入,但格式不正确。截至目前,它将温度四舍五入为24.50,27.80,23.10等。我想删除尾随的zereos,所以它变成24.5,27.8,23.1等。 到目前为

  • 问题内容: 我是否错过了一个标准API调用,该调用从数字中删除了不重要的零? 例如 Number.toFixed()和Number.toPrecision()并不是我想要的。 问题答案: 如果将其转换为字符串,它将不会显示任何结尾的零,因为它是作为数字而不是字符串创建的,因此不会首先存储在变量中。

  • 问题内容: 我有字符串(来自DB),其中可能包含数字值。如果它包含数值,我想删除尾随零,例如: ,仅适用于第一个,而不适用于第二个。 很多答案都指向使用,但是我得到的可能不是数字。因此,我认为更好的解决方案可能是通过Regex。 问题答案: 有可能: 我懒又傻,只是 使用相同的解决方案,而不是某些注释中提到的,以便于理解

  • 问题内容: 我想删除所有结尾的零而不截断或舍入该数字(如果没有的话)。例如,数字可能类似于,在这种情况下,尾随零应被删除。但是这个数字也可能 几乎是 不合理的,比如在屏幕的边缘。有没有办法设置DecimalFormat或其他类以减少尾随的零,同时保持不合理性不变? 问题答案: 如果您愿意切换到,则可以使用#stripTrailingZeroes()方法来完成此操作。

  • 问题内容: 我有一个很长的小数列表,我必须根据某些条件将其调整为10、100、1000,.... 1000000。当我将它们相乘时,有时会想要删除一个无用的尾随零(尽管并非总是如此)。例如… 是否有一个函数告诉小数对象舍弃这些无关紧要的零?我能想到的唯一方法是将其转换为字符串并使用正则表达式替换它们。 应该提到我正在使用python 2.6.5 EDIT senderle的好答案使我意识到,我偶尔