我不是指精确度,因为小数点后显示的数字是多少.我的意思是精确度,因为我想在这个象形文字功能中使用的十进制数字仍然比它应该是十分之一.我尝试过使用多种不同的策略,包括导入十进制模块.这是我试图使用的功能.
values = [('tens', 10), ('fives', 5), ('ones', 1), ('tenths', 0.1)]
def get_digits(num):
num = int(num * 10)
num = float(num) / 10
output_dict = {}
for place, value in values:
output_dict[place] = int(num // value)
num = num % value
return output_dict
Run Code Online (Sandbox Code Playgroud)
使用get_digits(277.9),收益率{'tens': 27, 'ones': 2, 'tenths': 8, 'fives': 1}
我需要它说 {'tens': 27, 'ones': 2, 'tenths': 9, 'fives': 1}
通过在填充字典后添加1到十分之一来修复它不起作用,因为并非每个小数都不精确地出现.
get_digits(277.6) 回报 {'fives': 1, 'tenths': 6, 'tens': 27, 'ones': 2}
我一直在寻找答案的论坛,但没有得到它.任何帮助将不胜感激.