字符串转浮点

本文介绍了如何使用_ttof函数来处理多字节和双字节字符的字符串,以便正确地转换为浮点数值。举例说明了_ttof函数的使用方法及其优势。

直接用atof好像是对多字节字符串的,_ttof是对多字节和双字节字符都可以的。

举个例子:_ttof(_T("3.232"))就有得到 3.232 不需要其它什么放在一个数组

 

http://bbs.youkuaiyun.com/topics/390849002

在 Python 中,将字符串换为浮点型(`float`)是一个非常常见的操作,通常使用内置的 `float()` 函数来实现。但需要注意字符串的格式是否合法,否则会抛出异常。 --- ### ✅ 基本用法: ```python s = "3.1415" f = float(s) print(f) # 输出:3.1415 print(type(f)) # 输出:<class 'float'> ``` --- ### ✅ 支持的字符串格式: - 纯数字字符串:`"123.45"` - 科学计数法:`"1.23e5"`、`"3E-4"` - 正负号:`"+3.14"`、`"-2.718"` ```python print(float("1.23e5")) # 输出:123000.0 print(float("-3.14")) # 输出:-3.14 print(float("+2.718")) # 输出:2.718 ``` --- ### ❌ 不合法格式会抛出 ValueError 异常: ```python float("abc") # 抛出 ValueError float("12.34.56") # 抛出 ValueError float("12,34") # 抛出 ValueError ``` --- ### ✅ 安全换方法(推荐使用 try-except): 为了避免程序因非法字符串而崩溃,建议使用 `try-except` 进行异常处理: ```python def safe_float(s): try: return float(s) except ValueError: print("换失败:字符串不是合法的浮点数") return None # 示例 print(safe_float("3.14")) # 输出:3.14 print(safe_float("abc")) # 输出:换失败:字符串不是合法的浮点数,返回 None ``` --- ### ✅ 将字符串列表换为浮点型列表: ```python str_list = ["1.2", "3.4", "5.6"] float_list = [float(x) for x in str_list] print(float_list) # 输出:[1.2, 3.4, 5.6] ``` --- ### ✅ 将 Pandas DataFrame 或 Series 中的字符串浮点型: 如果你使用 Pandas 处理数据,可以使用 `astype()` 或 `pd.to_numeric()`: ```python import pandas as pd df = pd.DataFrame({'col': ['1.2', '3.4', 'abc', '5.6']}) df['col'] = pd.to_numeric(df['col'], errors='coerce') print(df) ``` 输出: ``> col 0 1.2 1 3.4 2 NaN 3 5.6``` --- ### ✅ 总结: | 方法 | 用途 | 说明 | |------|------|------| | `float(s)` | 基础换 | 最常用,但需处理异常 | | `try-except` | 安全换 | 推荐用于不确定输入 | | 列表推导式 | 批量换 | 快速处理字符串列表 | | `pd.to_numeric()` | Pandas 中使用 | 处理数据框中的列 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值