在 python3 中将 float 值转换为 str 而不四舍五入

convert float value to str without rounding in python3

我有一个计算问题。

main_value = 4.4789

现在我想将此值与用户输入值进行比较

user_input = 4.5

if main_value >= user_input:
    print('yes')
else:
    print('no')

问题是我在 GUI 中以个位数精度显示 main_value (4.4789 被舍入并且 displayed_value = 4.5)

所以当进行比较时,显示 显示 4.5 但打印 NO...

我该如何解决!!!

我应该使用 Decimal 模块(请举个例子)还是其他简单的方法?

谢谢!!

s[:s.index('.')+1+n]

其中 s 是表示浮点数的字符串,n 是您要在 .

之后保留的位数