Python提供了一个方便的方法long()来将字符串转换为long:
long('234')
Run Code Online (Sandbox Code Playgroud)
; 将'234'转换为长
如果用户键在234.89然后python将引发错误消息:
ValueError: invalid literal for long()
with base 10: '234.89'
Run Code Online (Sandbox Code Playgroud)
我们应该如何处理python程序员处理带有小数值的字符串的场景?
谢谢=)
Sen*_*ran 33
long
只能采用可以以10号数字结尾的字符串敞篷车.因此,小数会造成伤害.你可以做的是,float
调用之前的值long
.如果您的程序在Python 2.x上,其中int和long差异很重要,并且您确定不使用大整数,那么您也可以使用int
提供密钥.
所以,答案是,long(float('234.89'))
或者只是int(float('234.89'))
你没有使用大整数.另请注意,Python 3中不会出现这种差异,因为默认情况下int会升级为long.python3中的所有整数都很长,并且对隐蔽的调用只是int
pay*_*yne 14
好吧,多头除了整数外不能容纳任何东西.
一种选择是使用浮动: float('234.89')
另一种选择是截断或舍入.从float转换为long将截断为您: long(float('234.89'))
>>> long(float('1.1'))
1L
>>> long(float('1.9'))
1L
>>> long(round(float('1.1')))
1L
>>> long(round(float('1.9')))
2L
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
105487 次 |
最近记录: |