Mat*_*pel 52 python string integer decimal
我有一个格式的字符串:Python中的'nn.nnnnn',我想将它转换为整数.
直接转换失败:
>>> s = '23.45678'
>>> i = int(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '23.45678'
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法将其转换为十进制:
>>> from decimal import *
>>> d = Decimal(s)
>>> print d
23.45678
Run Code Online (Sandbox Code Playgroud)
我也可以拆分'.',然后从零中减去小数,然后将其添加到整数......哎呀.
但我更喜欢把它作为一个int,没有不必要的类型转换或机动.
Pao*_*ino 104
这个怎么样?
>>> s = '23.45678'
>>> int(float(s))
23
Run Code Online (Sandbox Code Playgroud)
要么...
>>> int(Decimal(s))
23
Run Code Online (Sandbox Code Playgroud)
要么...
>>> int(s.split('.')[0])
23
Run Code Online (Sandbox Code Playgroud)
我怀疑它会比这简单得多,我害怕.接受它并继续前进.
Dan*_*enc 13
你想要什么样的舍入行为?你是2.67变成3,或2.如果你想使用四舍五入,试试这个:
s = '234.67'
i = int(round(float(s)))
Run Code Online (Sandbox Code Playgroud)
否则,只需:
s = '234.67'
i = int(float(s))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
214878 次 |
| 最近记录: |