powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вводимое значение отличается от введенного.
15 сообщений из 15, страница 1 из 1
Вводимое значение отличается от введенного.
    #39666271
iOxYGeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Помогите, пожалуйста, разобраться в чем проблема.
Существует БД сайта Bitrix . Есть таблица b_tszh_services_period в которой есть поле SUMM_PAYED Float(15,2)
При вставке новой записи без разницы каким образом, хоть INSERT, хоть руками через тот же Navicat или dbForge , вводимые данные изменяют свое значение на:
Значение заданное для ввода / Оказывается введено по факту
1,01 -> 1,02
1,04 -> 1,05
1,1 -> 1,09
1,13 -> 1,12
1,15 -> 1,16
1,18 -> 1,19
1,21 -> 1,2
1,24 -> 1,23
1,26 -> 1,27

Триггеров на эту таблицу не стоит.
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666291
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOxYGeNFloat(15,2)А чего же вы хотите?
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666300
iOxYGeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftiOxYGeNFloat(15,2)А чего же вы хотите?
Хочу чтобы в это поле, так же как и в поле-клон по соседству SUMM Float(15,2), вводились данные которые я передаю.
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666349
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOxYGeN,

Если вы хотите хранить точное значение - то и используйте соответствующий тип данных . А не by design приблизительный ieee 754
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666373
iOxYGeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,
Спасибо. А есть предположения почему в соседнем поле SUMM Float(15,2) этой же таблицы он не изменяет значения при вводе?
И риторический вопрос почему Bitrix выбрал такой тип для этих полей. Не понимаю.
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666698
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftiOxYGeNFloat(15,2)А чего же вы хотите?
а как это связано? по-моему это ненормальное поведение
явно 1с-ники руку приложили
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666727
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666760
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин он и тут пытается "помочь"
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666826
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78блин он и тут пытается "помочь"Кто он-то?
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666827
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOxYGeNИ риторический вопрос почему Bitrix выбрал такой тип для этих полей. Не понимаю.У вас последняя версия Bitrix?
Очень рекомендую задать этот вопрос в техподдержку Bitrix-а.
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666867
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksofttip78блин он и тут пытается "помочь"Кто он-то?
авторMySQL, будучи недостаточно строгой СУБД, задорно игнорирует ваши настройки и ограничения целостности ( она просто хочет помочь );
она легко вставит пустую строку "" в колонку с запретом на добавление пустых значений;
она с радостью вставит бесполезные даты (вроде 0000-00-00) в колонки с датами при запрете добавления пустых значений;
она умеет делить на ноль и вернёт NULL при вычислении 1/0;
она вернёт NULL при делении строки на ноль;
если вы попробуете вставить значение 1000 в колонку с длиной равной двум, то она просто немного округлит это значение до 99.

Всё это должно дать вам повод задуматься об использовании MySQL: эта система не проверяет ваши данные, зато она пытается показаться «удобной» ценой целостности данных.
Мне кажется, это довольно плохо.
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666888
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78miksoftпропущено...
Кто он-то?
авторMySQL, будучи недостаточно строгой СУБД, задорно игнорирует ваши настройки и ограничения целостности ( она просто хочет помочь );
она легко вставит пустую строку "" в колонку с запретом на добавление пустых значений;
она с радостью вставит бесполезные даты (вроде 0000-00-00) в колонки с датами при запрете добавления пустых значений;
она умеет делить на ноль и вернёт NULL при вычислении 1/0;
она вернёт NULL при делении строки на ноль;
если вы попробуете вставить значение 1000 в колонку с длиной равной двум, то она просто немного округлит это значение до 99.

Всё это должно дать вам повод задуматься об использовании MySQL: эта система не проверяет ваши данные, зато она пытается показаться «удобной» ценой целостности данных.
Мне кажется, это довольно плохо.А, нет, тут не MySQL виноват.
Типы данных float и double (ieee 754) в принципе не способны хранить многие значения, которые для нас просты и привычны.
Например, 0.1
При переводе этого числа в двоичную систему получается бесконечная дробь.
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666889
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От MySQL тут, возможно, "виновато" округление до двух знаков после запятой при вывод хранящегося числа. А может и нет.
Топикстартер не показал никаких подробностей, из которых можно было бы это точно утверждать.
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666907
iOxYGeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь за невнимательность. Первое поле "SUMM" ведет себя точно так же.

miksoft,
Вот скриншот:
https://prntscr.com/jzdhjl

Видео:
YouTube Video
...
Рейтинг: 0 / 0
Вводимое значение отличается от введенного.
    #39666925
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftОт MySQL тут, возможно, "виновато" округление до двух знаков после запятой при вывод хранящегося числа. А может и нет.
Топикстартер не показал никаких подробностей, из которых можно было бы это точно утверждать.
это классика
YouTube Video
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вводимое значение отличается от введенного.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]