@bed
Я люблю соленые огурцы

Как преобразовать строку float в string без потери точности?

У меня есть json файл, в нем есть число 5.1234

Как мне это число хоть как-то вывести в консоль без потери точности? Я пробовал преобразовать его в строку, но мне пишет TypeError: 'float' object is not subscriptable

Я все испробовал, весь интернет перерыл, всегда пишет это при использовании любых способов, либо я ищу не там

Один хороший человек написал решение моей проблемы, но потом удалил свой комментарий, кому интересно вот:
a = 5.1234
b = str(a)

print(b)
print(type(b))
print(float(b))
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
SoreMix
@SoreMix
yellow
Прочитать json файл без округления float?

Можно попборовать так, не знаю правильно или нет
with open('json', 'r') as f:
    data = json.load(f, parse_float=lambda num: str(num))


upd:
Один хороший человек написал решение моей проблемы

Сначала не понял в чем проблема с преобразованием, потом подумал и решил, что проблемы при округлении при чтении из файла. Так что оставлю другой код выше (что-то мне подсказывает, что он колхозный)

Ну либо можно использовать тот же decimal

from decimal import Decimal
with open('json', 'r') as f:
    data = json.load(f, parse_float= lambda num: Decimal(num))


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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
06 мар. 2021, в 13:37
2000 руб./за проект
06 мар. 2021, в 13:18
600 руб./за проект