Python函数用于删除小数点的零,包括小数点?

时间:2014-03-27 16:32:12

标签: python excel decimal

我正在使用xlrd从excel电子表格中的单元格中读取值。 每当我检测到一个单元格类型= 2时,我就知道它是一个数字。 单元格中的3个将返回3.0 并且3.14的数量将返回3.14

我将数字转换为文字。 我应该使用什么函数来删除小数点右边的零和小数?

以上2个数字应为3和3.14

2 个答案:

答案 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,它可以很好地控制打印的内容。