【问题标题】:Removing period from number in python从python中的数字中删除句点
【发布时间】:2016-07-23 17:24:58
【问题描述】:

给定一个介于 0 和 1 之间的实数(例如 0.2836),我只想返回不带点的数字(例如在本例中为 0.2836 -> 2836 或 02836)。我试图使用 python 来做到这一点,但我刚刚开始,我需要一些帮助。

【问题讨论】:

  • 显示您尝试过的内容。 (你的意思是句号,而不是逗号)
  • 我什么都没试过,因为我不知道从哪里开始
  • str(number).replace('.','')
  • number = number.translate(None, '.').lstrip('0')
  • 你尝试过什么来阅读 Python 文档?

标签: python


【解决方案1】:

只要你有一个号码,以下应该做:

>>> number = 0.2836
>>> int(str(number).replace('.', ''))
2836

如果在字符串中找不到.str.replace 只返回原始字符串。

更多数字:

>>> int(str(1).replace('.', ''))
1
>>> int(str(1.2).replace('.', ''))
12

【讨论】:

【解决方案2】:

从条带中删除不需要的字符的最简单方法是使用空字符串作为第二个参数调用其.replace 方法:

x = str(123.45)
x = x.replace('.','')
print(x)                 # Prints 12345

注意,这会留下任何前导零(即 0.123 使用此方法会导致 0123

如果您知道小数点后总是有 4 个数字(如果数量较少,则需要尾随零),您可以先将该数字乘以适当的因数:

x = 123.4567
x *= 10000
x = str(int(x))          # Convert float to integer first, then to string
print(x)                 # Prints 1234567

还有其他选择,但这可能会为您指明正确的方向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多