Пятница, 29 Марта 2024, 09:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Скриптовые языки программирования » Python трансформирование строки в число Decimal и обратно (Python 3)
Python трансформирование строки в число Decimal и обратно
NecrolichДата: Воскресенье, 13 Сентября 2015, 12:46 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Допустим есть строка x = '0.000000000000001', при сложение с Decimal ом теряется точность
Пример кода
x ='0.000000000000001' #Это строка
y= Decimal(0)#Это число
x = str(Decimal(x)+Decimal(y))#Скелиавние
И на выводе: 1E-15, собственно как исправить?
YellowAfterlifeДата: Воскресенье, 13 Сентября 2015, 16:57 | Сообщение # 2
Сейчас нет на сайте
Цитата Necrolich ()
Допустим есть строка x = '0.000000000000001', при сложение с Decimal ом теряется точность
Пример кода
x ='0.000000000000001' #Это строка
y= Decimal(0)#Это число
x = str(Decimal(x)+Decimal(y))#Скелиавние
И на выводе: 1E-15, собственно как исправить?

Потери точности на самом деле нет.
1E-15 означает "1 * 10 ^ (-15)", что и равно твоему числу (14 нулей перед единицей).
Если нужно получить "человекочитаемую" форму, это можно сделать как
x = Decimal(x) + Decimal(y)
x = "%.15f" % x
(где 15 - количество знаков после запятой)


NecrolichДата: Понедельник, 14 Сентября 2015, 17:11 | Сообщение # 3
почетный гость
Сейчас нет на сайте
YellowAfterlife, А можно ли получть человеко читаемую форму по другому?(Просто когда прибавляешь это число к еденице, оно сразу принимает человекочитаемую форму)

Сообщение отредактировал Necrolich - Понедельник, 14 Сентября 2015, 17:11
Форум игроделов » Программирование » Скриптовые языки программирования » Python трансформирование строки в число Decimal и обратно (Python 3)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг