You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中执行str(1.5).strip(".")为何无法移除浮点数小数点?

问题原因说明

首先明确:浮点数转字符串后使用的小数点就是标准英文句号.,不存在专属特殊符号,返回结果不符合预期的核心原因是对str.strip()方法的功能存在误解。

  • str.strip(chars)的实际作用:仅移除字符串开头、结尾位置所有属于chars字符集合的连续字符,一旦匹配到第一个不在chars集合内的字符,就会停止对应方向的移除操作,字符串中间位置的字符完全不会被该方法处理。
  • 对应你的代码场景:str(1.5)生成的字符串是"1.5",它的首字符是'1'、尾字符是'5',两个字符都不在你传入的待移除集合"."里,因此整个strip操作没有可移除的内容,自然返回原字符串"1.5"。
正确实现方式

如果要删除字符串内所有位置的小数点,需要使用替换方法:

# 移除字符串中所有的小数点
str(1.5).replace(".", "")
# 执行返回结果为 '15',符合预期

补充示例帮你理解strip的行为:如果操作的字符串是".1.5.",调用.strip(".")后只会移除首尾的两个点,返回结果为"1.5",字符串中间的小数点不会被改动。

内容的提问来源于stack exchange,提问作者Thomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 19:09:52