Число с нулем в начале и необязательным десятичным числом (sql) - PullRequest
1 голос
/ 14 марта 2012

Я создаю нечто похожее на чтение книги в Интернете.Как мы все знаем, главы есть почти в каждой книге.каждая глава имеет номер: 01, 02 и т. д.сейчас у меня есть несколько глав, в которых есть десятичное число, например: 01.5, 02.5 и так далее.Мой тип данных MySQL теперь «smallint», допускается только 4 символа с атрибутом «unsigned zerofill».так что прямо сейчас, если я напечатал что-то вроде: «1», оно будет сохранено как: 0001. Если число имеет десятичное число или что-то кроме цифр, оно не будет сохранено.что приводит к моему вопросу, есть ли в любом случае я могу заставить его поддерживать десятичные числа.Кроме того, я не хочу, чтобы он отображал десятичную дробь, если десятичная дробь равна 0.

Ваша помощь приветствуется.

1 Ответ

4 голосов
/ 14 марта 2012

Вы не должны хранить номер таким образом. Вам нужно сохранить его как десятичный и отформатировать после извлечения из базы данных.

Например, если это схема таблицы,

CREATE TABLE amount (value decimal(5,2));

В PHP число может быть отформатировано как,

$res = mysql_query("select * from amount");
while($row = mysql_fetch_assoc($res)){
    printf ("%07.2f", $row['value']);
}

Этот функциональный формат printf напечатает 2.9 как 0002.90

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...