Как преобразовать и сохранить String в поле float без округления в Django
У меня есть значение строки, которое имеет вид 30.72044543304425
и я сохраняю его в FloatField
как float.
пример
my_string = "30.72044543304425"
object = something.objects.get(id=123)
object.myFloatField = float(my_string )
object.save()
но результат
30.7204454330443
Как вы видите, число было округлено ... как этого избежать?
Возможно, вы достигли максимально возможной точности для float. Вы можете попробовать использовать DecimalField и вручную установить точность настолько высокую, насколько вам нужно.
Я думаю, что пределы здесь довольно высоки.
Это зависит от DB движка, смотрите здесь: Django DecimalField какое максимальное значение max_digits?