За последние 24 часа нас посетили 18454 программиста и 1607 роботов. Сейчас ищут 914 программистов ...

Хранение денюшних единиц в бд как decimal(10,2)

Тема в разделе "PHP для новичков", создана пользователем _ne_scaju_, 25 янв 2018.

  1. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    как нибудь проверю твой метод, хорошо было бы разбирать если хоть одна строка была подписана, я обычно комментирую код, чтобы в следующий раз вспомнить а нафига это писал).
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Из формы всегда приходят только строки. И проверять их нужно, как строки. Например, с помощью регулярного выражения. А приведение строки к другим типам может изменить данные.
    Я недавно придумал такую проверку:
    Код (Text):
    1. $var === (string) floatval($var) ;
    Чтобы убедиться, укладывается ли полученное из формы значение во float без изменений. То же самое можно для int. Недостатоков пока не нашёл.
     
  3. Дюран

    Дюран Активный пользователь

    С нами с:
    9 мар 2018
    Сообщения:
    291
    Симпатии:
    21
    Для такого валидного флоата не сработает:
    $var = '33.0';