如果dict中的值大于6位(对于测试特定小数位数也很有用),我将尝试引发错误。
例如,对于下面的dict(比如数字位数=6)
example_dict = {'dict_id': 12345,
'key1': 10501.04999999999999999262}
for key, value in tariff_detail.items():
if value == type(float) and (test for number of digits):
raise ValueError("DictID: {}, Key Missing: {}".format(example_dict['dict_id'],key))
(注意,如果我把上面的例子放在ipython中,并做example_dict.values(),它会弹出[10501.05]-是否存在内置舍入,或者这只是为了显示?)
测试位数并在失败时引发错误的最佳方法是什么?
一个简单的方法是将值转换为字符串,然后计算其长度:
if len(str(value)) > 6 :