Как показать ровно 4 числа после десятичной точки без округления в Python? - PullRequest
0 голосов
/ 16 февраля 2020

Я хочу вычислить квадрат root чисел и напечатать их точно с 4 числами после десятичной точки без округления. Этот код округляет числа

num="%.4f" % num

, и этот код не показывает 1.0000 или такие цифры.

num=math.floor(num * 10000)/10000

Ответы [ 5 ]

0 голосов
/ 16 февраля 2020

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

num = float (int (num * 10000) / 10000)
print (num)
0 голосов
/ 16 февраля 2020

Вы можете конвертировать их в строку. Вот способ -

num = str(0.5532523).split('.')
ans = '%s.%s' % (num[0], num[1][:4])
print(ans)
0 голосов
/ 16 февраля 2020

Попробуйте это:

>>> num = 5.12129
>>> num = f'{num:.5f}'[:-1]
>>> num
'5.1212'
0 голосов
/ 16 февраля 2020

Вы можете преобразовать число в строку, а затем использовать строковые манипуляции:

def numberWithoutRounding(num, precision=4):
    [beforeDecimal, afterDecimal] = str(num).split('.')
    return beforeDecimal + '.' + afterDecimal[0:precision]
>>> numberWithoutRounding(1.43219)
'1.4321'
0 голосов
/ 16 февраля 2020

Вот вариант, если вы sh печатаете / просто показывает 4 числа после десятичной точки:

 num = 0.553252
'{:.4f}'.format(num)

Более подробную информацию о представлении строк / значений можно найти здесь - https://pyformat.info/#number

...