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

如何在保留原十进制数的前提下统计不含小数点的数字总位数?

统计十进制数的数字总位数(不含小数点)

针对你的问题,直接将数字转成字符串后会包含小数点,导致长度多算1位。可以用以下两种方法解决:

方法一:移除小数点后统计长度

这是最简洁的方式,将字符串中的小数点直接替换为空,再计算长度:

n = 7.14285
digits = len(str(n).replace('.', ''))
print(digits)  # 输出6

方法二:拆分整数与小数部分分别统计

如果需要单独获取整数或小数部分的位数,可以先拆分两部分再相加:

n = 7.14285
integer_part, decimal_part = str(n).split('.')
digits = len(integer_part) + len(decimal_part)
print(digits)  # 输出6

原代码问题说明

你之前的代码len(str(n))得到7,是因为str(7.14285)会生成字符串"7.14285",其中包含1个小数点和6个数字,总长度为7,去掉小数点后就能得到正确的数字位数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:45:34