我正在使用xlrd从excel电子表格中的单元格中读取值。 每当我检测到一个单元格类型= 2时,我就知道它是一个数字。 单元格中的3个将返回3.0 并且3.14的数量将返回3.14
我将数字转换为文字。 我应该使用什么函数来删除小数点右边的零和小数?
以上2个数字应为3和3.14
答案 0 :(得分:2)
使用str.rstrip()
两次:
str_of_float.rstrip('0').rstrip('.')
这会删除尾随零,如果这会留下尾随.
,它也会被移除。
演示:
>>> '3.14'.rstrip('0').rstrip('.')
'3.14'
>>> '3.0'.rstrip('0').rstrip('.')
'3'
>>> '3000.0'.rstrip('0').rstrip('.')
'3000'
不要试图使用.rstrip('.0')
;它会删除太多的零:
>>> '3000.0'.rstrip('.0')
'3'
答案 1 :(得分:0)
在将值打印到字符串时,我总是使用format。使用format specs,它可以很好地控制打印的内容。