给定0到1之间的实数(例如0.2836)我想只返回没有点的数字(例如在这种情况下从0.2836 - > 2836或02836)。我试图用python来做这件事,但我刚刚开始,我需要一些帮助。
答案 0 :(得分:4)
只要你有一个号码,就应该做到:
>>> number = 0.2836
>>> int(str(number).replace('.', ''))
2836
如果在字符串中找不到.
,here只返回原始字符串。
有更多数字:
>>> int(str(1).replace('.', ''))
1
>>> int(str(1.2).replace('.', ''))
12
答案 1 :(得分:0)
从条带中删除不需要的字符的最简单方法是使用空字符串作为第二个参数调用其.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
还有其他选择,但这可能会指向正确的方向。