Python math.fsum:大数已经抵消,为什么普通累计仍丢掉最后一点残差 五个浮点数包含一对大数、一对正负一,以及一个很小的剩余量。逐步累加得到负一,内置sum得到零,math.fsum却保住了那个小量。同一批输入产生三种结果,关键在于中途丢掉的低位是否仍有地方保存,以及后来大数抵消时能否... yunqueblog/ 技术教程/ 2026-10-03/ 3 阅读
Python Fraction 精确比例:从 0.1 构造分数,为什么不一定是十分之一 要把几个比例精确相加,Fraction 可以用整数分子与分母表示有理数。但有一个容易误判的入口:Fraction(0.1) 接收的是已经形成的二进制浮点数,结果精确描述那个浮点值;Fraction("0.1") 接收... yunqueblog/ 技术教程/ 2026-10-01/ 2 阅读
SQLite 整数除法:算完再转小数,为什么已经丢掉了半个 一张完成率表把一半算成了零统计任务完成率时,完成数是一,计划数是二。查询能运行,得到的比率却是零,给结果乘一百之后仍然是零。问题通常出在两项都是整数,除法已经执行了整数运算;显示层多保留几位小数,只会把零写得更长,不... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
Python Decimal 舍入:把精度、位数和规则分开 报表导出或测量结果保留两位小数,看起来只需要一个格式化操作。真正容易出错的是:输入是否已损失精度,中间计算保留多少有效数字,最终采用什么舍入规则。本文以 Python 3.14 官方文档核验语义,全部代码实际运行环境... yunqueblog/ 技术教程/ 2026-10-01/ 4 阅读