phpMyAdmin Float Отключить круглый номер

Я работал над проектом с большим количеством чисел, вставленных в таблицу базы данных. Теперь, когда я закончил код, я проверял значения на наличие ошибок и заметил, что мое значение 3075277 преобразуется в 3075280 при вставке в БД, а 3075255 будет 3075260.

Тип столбца — Float. Что я должен изменить, чтобы отключить округление? У этого даже нет десятичных чисел, почему это округляется так? Я использую параметры по умолчанию, только изменил параметры сортировки на utf8_general_ci и изменил тип на varchar и длина в некоторых и плавающий в других.

1

Решение

Теперь вы используете FLOAT введите, но получаете ошибку, потому что вы сохраняете большое десятичное число в базе данных. Вы должны пойти на DOUBLE,

Хотя FLOAT а также DOUBLE похожи, потому что они хранят значение в приблизительном значении, но это DOUBLE составляет 8 байтов, и FLOAT это 4 байта.

FLOAT для одинарной точности, а DOUBLE для чисел двойной точности.

MySQL использует четыре байта для значений одинарной точности и восемь байтов для значений двойной точности.

Существует большое отличие от чисел с плавающей запятой и десятичных (числовых) чисел, которые можно использовать с типом данных DECIMAL. Это используется для хранения точных числовых значений данных, в отличие от чисел с плавающей запятой, где важно сохранить точную точность, например, с денежными данными.

Как и в вашем случае, для больших чисел вы хотели бы DOUBLE вместо FLOAT,

0

Другие решения

Эта проблема связана с MySQL, а не с Phpmyadmin.

FLOAT имеет 6-7 значащих цифр точности, как вы видите с искаженными значениями. Под «значащими цифрами» я подразумеваю начинать где угодно:

1234567xxxx.
12345.67xxx
1.234567xxx
0.0000001234567xxx

Это xxx скорее всего, это нули или какой-то «шум», а не исходное значение, которое вы указали в столбце.

DOUBLE дает вам около 16 значащих цифр.

DECIMAL(9,0) дает вам 9 цифр слева от десятичной точки, ни один после. Вроде как INT,

DECIMAL(9,4) дает вам 5 (9-4) цифр слева от точки; 4 после.

Какие номера вы храните? Деньги? Научные измерения? Астрономические расстояния? DT богатство?

1

По вопросам рекламы [email protected]