【问题标题】:Python 3 Removing All Decimal numbers from float but keep decimalPython 3 从浮点数中删除所有小数但保留小数
【发布时间】:2019-01-02 12:06:09
【问题描述】:

我想创建编号的要点。

决定了我想要的方式

去除小数点后面所有数字的浮点数,但保留小数点。

示例: 2.0 将是 2。 3.14 将是 3。

有没有办法做到这一点? 如果有,会是什么样子?

再次感谢您。

【问题讨论】:

  • 是的,有几种方法可以做到这一点
  • 如果您想在号码后保留dot,则无法使用integers 或floats,但可以使用strings。
  • 只是为了好玩:float(str(5.57).split('.')[0] + '.0')

标签: python stripping


【解决方案1】:
str(int(x)) + "."

转换回浮点数会在小数点后添加一个零,所以它必须留在字符串中。

【讨论】:

  • 谢谢大家。好的 Azhy 说不可能按照我想要的方式进行,这是快速轻松地修复以获得我想要的效果。再次感谢大家花时间阅读和回复的人
【解决方案2】:

这样做的一种方法是首先使用 int 来获取浮点数的整数部分。那么如果你只想要一个像3. 这样的数字,那么如果不转换为字符串,这是不可能的,因为3.3.0。因此,也许将整数部分转换为字符串,然后连接'3.' 形式的句点 一个例子:

In [1]: num = 3.14

In [2]: myint = int(num)

In [3]: myint
Out[3]: 3

In [4]: mystr = str(myint)

In [5]: mystr
Out[5]: '3'

In [6]: mystr += '.'

In [7]: mystr
Out[7]: '3.'

或一步到位:

mystr = str(int(num)) + '.'

在给定输入num = 3.14的情况下给出'3.'的输出:

In [12]: mystr
Out[12]: '3.'

【讨论】:

    猜你喜欢
    • 2013-01-10
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多