如何显示小数点后两位的数字
我需要返回总是有2位小数的数字(不是字符串!),无论输入什么数字。例如:如何显示小数点后两位的数字
-
86
回报86.00
-
3.12345
回报3.12
-
2.0
回报2.00
的问题是,如果我使用Python的十进制模块,它返回Decimal('#')
,而不是仅仅#
(我只想要号码)。如果我改用"%.2f" % #
,它会将该数字作为字符串返回,这不是我想要的,因为我无法对Python中的字符串进行任何数学运算。
x = 3.14159
round(x, 2)
给出3.14
舍入为您提供了另一个浮动对象。整数不会显示2位小数,而浮点数*不是每个可能实数*的精确表示,这意味着舍入到两位数*仍然可以产生使用更多数字*的浮点数。 –
是的,但没有精确到两位小数的类型。确切的唯一方法是使用一个移位两位小数的整数,但是没有一个数学方法可以在没有为这个类编写自定义的__mul__和__div__方法的情况下工作,所以这是最简单的方法。达成要求 –
OP要求输入另一个号码。当然,一个浮点数仍然会使用更多的数字,这是一个浮点数,它永远不会是确切的,但它将精确到OP所使用的精度。 –
不能返回这样一个数字。 *表示*与*值*混淆。 '86.0'是一个浮点值,它将*从不*为小数点后两个零的数字。 –
相反,您可以控制数字如何被打印*,因此您可以控制在需要显示数字时如何将它们转换为字符串。 –