prrrrrrr
@prrrrrrr
Верстаю сразу на PHP.

Почему при добавлении в базу шестнадцать единиц превращаются в 1.111111111111111e15?

Подскажите, почему при добавлении в базу:
1.шестнадцать единиц превращаются в 1.111111111111111e15?
2.значение "1234123412341234" превращается в 1.234123412341234e15?
и т.п.

Как исправить?
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dimoff66
Кратко о себе: Я есть
Если тип поля строковой тогда ваша озабоченность понятна, действительно ввел одно, а отображается другое, если же числовой, то то что вы видите - всего лишь представление числа и "исправлять" его нужно там, куда вы его выводите.
Ответ написан
Комментировать
@402d
начинал с бейсика на УКНЦ в 1988
Как я понимаю вы только учитесь.
И код скорее всего у вас примерно такой. (т.е. ужас-ужас)
$a = 111111111111111111111;
$query = "insert into table(pole) val({$a})";

Так как PHP без строгой типизации
то сработали два преобразования.
переменная А больше максимального целого и стала числом с экспонентой
а в строке запроса сработало обратное преобразование к строковому типу.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы