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

如何将含小数的字符串转换为数值并保留小数位,避免取整

解决字符串转数值保留小数的问题

首先明确:Python里的int类型是整数类型,天生只能存储整数,不可能保留小数,你之前尝试用int(x)得到99.7是不符合语言规则的,这是核心误解。

要实现保留小数的数值转换,直接用float()函数即可,不需要再套一层int():

s = "99.7"
x = float(s)
print(x)  # 输出:99.7

如果是处理列表里的批量字符串,用列表推导式直接转换就行:

str_list = ["99.7", "12.3", "45"]
num_list = [float(s) for s in str_list]
print(num_list)  # 输出:[99.7, 12.3, 45.0]

要是想让整数字符串转成int、小数字符串转成float(避免把"45"变成45.0),可以写个简单的判断函数:

def convert_str_to_num(s):
    if '.' in s:
        return float(s)
    else:
        return int(s)

str_list = ["99.7", "100", "3.14"]
num_list = [convert_str_to_num(s) for s in str_list]
print(num_list)  # 输出:[99.7, 100, 3.14]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 00:45:13