определение точности в делении Python (2.6) - PullRequest
2 голосов
/ 16 июня 2010

из будущее отдел импорта Чтобы выполнить разделение, в котором мне нужно некоторое разрешение. Тем не менее, он дает длинный номер, например:

1.876543820098765

Мне нужны только первые два числа после "." => 1,87 Как я могу это сделать?

Ответы [ 3 ]

4 голосов
/ 16 июня 2010
"%0.2f" % yournumber

Поскольку вы сказали, что не хотите округлять число, вы можете попробовать

def twoDigits(x):
    return int(100*x)/100.0
2 голосов
/ 16 июня 2010

Число сохраняется как двоичная с плавающей точкой.Если вам нужно показать только две цифры, вы можете превратить число с плавающей точкой в ​​строку и контролировать количество отображаемых цифр, используя синтаксис printf.

mystring = "%.2f" % (x/y)

Это ограничит строку только двумя цифрами.после десятичной точки.

, если x/y = 1,876543820098765
mystring = "1,88"

1 голос
/ 16 июня 2010
f = 1.876543820098765
print f
print round(f, 2)

>> 1.8765438201
>> 1.88
...