Преобразованный плавающий в десятичную точку? - PullRequest
0 голосов
/ 02 декабря 2018

В случае

x = 0.898558 #float with zero prefix

Я пытался

from decimal import Decimal
x = 0.898558
print(Decimal(x))

Вывод:

0.898557999999999967855046634213067591190338134765625

Я думаю, что могусделать что-то, и я попытался

x = 0.898558
print('%.2f' % x)

Ouput:

0,89

Как я могу удалить 0 цифру, я хочу что-то вроде этого89

Ответы [ 4 ]

0 голосов
/ 02 декабря 2018

Если это всегда десятичное число с нулем впереди, вы можете напечатать его так:

print(str(x)[2:4])
0 голосов
/ 02 декабря 2018

Это просто строка, так что вы можете вырезать нужный бит:

print( ('%.2f' % x)[2:] )
0 голосов
/ 02 декабря 2018

Умножьте на 100, затем преобразуйте в int:

y = int(x*100)

РЕДАКТИРОВАТЬ: Это НЕПРАВИЛЬНО.Смотрите обсуждение в комментариях.

0 голосов
/ 02 декабря 2018

Вы можете сделать это путем преобразования вашего int в строку и деления на десятичную точку.

x = str(x).split('.')[1]

...