面试题答案
一键面试import math
def truncate_and_sum(data):
result = 0
for num in data:
result += math.trunc(num)
return result
在这种复杂运算场景下,trunc()
函数存在以下局限性:
- 精度问题:
trunc()
函数直接丢弃小数部分,对于浮点数在计算机中的表示存在精度损失问题。例如0.1
在计算机中不能精确表示,trunc(0.1)
得到的截断结果虽然看似正确,但在一系列涉及浮点数运算的复杂场景中,累积的精度误差可能导致最终结果与预期有偏差。 - 不符合特定舍入规则需求:如果场景需要遵循如银行家舍入法等特定舍入规则,
trunc()
函数直接截断的方式无法满足这种需求,只能进行向上或向下舍入,不够灵活。