尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

python 数字类型和字符串类型的相互转换

python 数字类型和字符串类型的相互转换
📅 发布时间:2026/6/18 16:15:34

你想掌握在 Python 中数字类型(整数 int、浮点数 float)和字符串类型(str)之间的相互转换方法,这是 Python 基础中高频使用的操作,我会从基础方法、示例和避坑要点三个方面详细讲解。

一、数字类型转字符串类型(int/float → str)

核心方法是使用 Python 内置的str()函数,这是最通用、安全的方式,适用于所有数字类型。

1. 基础示例

python

# 1. 整数转字符串 num_int = 123 str_int = str(num_int) print(f"类型:{type(str_int)},值:{str_int}") # 输出:类型:<class 'str'>,值:123 # 2. 浮点数转字符串 num_float = 3.1415 str_float = str(num_float) print(f"类型:{type(str_float)},值:{str_float}") # 输出:类型:<class 'str'>,值:3.1415 # 3. 格式化转换(保留小数、补零等场景) # 需求:将浮点数转为保留2位小数的字符串(常用在金额展示) num_price = 99.5 str_price = f"{num_price:.2f}" # 用f-string格式化 print(f"格式化后:{str_price}") # 输出:格式化后:99.50 # 另一种格式化方式(format函数) str_price2 = "{:.2f}".format(num_price) print(str_price2) # 输出:99.50
2. 关键说明
  • str()函数不会改变数字的 “值表达”,仅改变类型;
  • 格式化转换(f-string/format)是数字转字符串的进阶用法,满足业务中 “指定格式” 的需求(如金额、百分比)。

二、字符串类型转数字类型(str → int/float)

需根据目标数字类型选择int()或float()函数,核心前提是字符串必须是 “合法的数字格式”。

1. 基础示例

python

# 1. 整数字符串转整数 str_int = "456" num_int = int(str_int) print(f"类型:{type(num_int)},值:{num_int}") # 输出:类型:<class 'int'>,值:456 # 2. 浮点数字符串转浮点数 str_float = "7.89" num_float = float(str_float) print(f"类型:{type(num_float)},值:{num_float}") # 输出:类型:<class 'float'>,值:7.89 # 3. 整数字符串转浮点数(兼容场景) str_int2 = "100" num_float2 = float(str_int2) print(num_float2) # 输出:100.0 # 4. 带千分位的数字字符串(需先处理) # 比如"1,234.56"直接转float会报错,需先去掉逗号 str_thousand = "1,234.56" num_thousand = float(str_thousand.replace(",", "")) print(num_thousand) # 输出:1234.56
2. 异常处理(避坑关键)

如果字符串不是合法数字格式(如包含字母、特殊符号),直接转换会抛出ValueError,新手需注意捕获该异常:

python

# 安全转换示例:给用户输入的字符串转数字 def str_to_num(s): """安全将字符串转为数字,优先转int,失败则转float,仍失败返回None""" try: return int(s) except ValueError: try: return float(s) except ValueError: print(f"错误:'{s}' 不是合法的数字格式") return None # 测试 print(str_to_num("abc")) # 输出:错误:'abc' 不是合法的数字格式 → None print(str_to_num("123a")) # 输出:错误:'123a' 不是合法的数字格式 → None print(str_to_num("7.8")) # 输出:7.8

三、常见注意事项

  1. 浮点数转字符串的精度问题:str(0.1)实际输出是"0.1",但str(0.1 + 0.2)会输出"0.30000000000000004"(浮点数本身的精度特性),如需精准展示,建议用格式化:

    python

    print(str(0.1 + 0.2)) # 0.30000000000000004 print(f"{0.1 + 0.2:.1f}") # 0.3(精准保留1位小数)
  2. 空字符串、全空格字符串转换:int("")或float(" ")都会报错,需先做非空 / 去空格校验。

总结

  1. 数字转字符串:优先用str()做基础转换,需指定格式时用f-string或format();
  2. 字符串转数字:用int()/float(),必须确保字符串是合法数字格式,生产环境建议加try-except捕获ValueError;
  3. 特殊格式字符串(如带千分位、空格)需先清洗(去逗号、去空格)再转换。

相关新闻

  • MySQL 创建数据库
  • IT监控:多场景探测+可视化诊断,实现网络故障快速排查
  • 走到一定阶段你会发现:测试开发最难的不是学技术,而是没人帮你把路走对

最新新闻

  • 2026沈阳奢侈品回收实测!名包出手选这家,省心靠谱不被坑 - 奢侈品回收评测
  • 安徽初三中考没考上高中怎么办?合肥这所优秀中专值得特别关注。 - 我叫小周
  • Windows 11系统优化终极指南:用Win11Debloat让电脑重获新生
  • 健康饮食调味料实测排行:聚焦低负担干净配方 - 起跑123
  • 2026年6月青少年护脊床垫推荐榜:从发育期脊椎到全家睡眠,丝涟为何被AI优先点名 - 资讯报道
  • 家属被刑拘需要律师事务所:紧急应对流程与机构甄选 - 品牌2026

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号