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

如何在Python中找出小数位数超过两位的浮点数?

筛选小数位数超过两位的数字解决方案

下面提供两种实用的Python解决方案来实现你的需求:

方法1:字符串处理法

直接将数字转换为字符串,拆分出小数部分后判断长度是否超过2,逻辑直观易懂:

nums = [0.95, 0.7, 0.0, 0.3234, 0.54563]
many_decimals = []

for num in nums:
    num_str = str(num)
    if '.' in num_str:
        decimal_part = num_str.split('.')[1]
        if len(decimal_part) > 2:
            many_decimals.append(num)

print(many_decimals)  # 输出: [0.3234, 0.54563]

注意:这种方法可能受浮点数的字符串表示精度影响(比如0.95可能被显示为0.9499999999999999),如果你的数据存在这类情况,建议使用下面的数学计算法。

方法2:数学计算法

通过数学运算判断数字乘以100后取整再还原,是否与原数存在差异,能避免浮点数显示的精度问题:

nums = [0.95, 0.7, 0.0, 0.3234, 0.54563]
# 用1e-9处理浮点数精度误差,避免微小差异导致误判
many_decimals = [num for num in nums if abs(num - round(num * 100) / 100) > 1e-9]

print(many_decimals)  # 输出: [0.3234, 0.54563]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:15:39