Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Преобразование числа


Автор: Reptor 13.4.2006, 20:08
в базе хранится число вида 0.00 какая функция зделает просто 0?

Автор: PARROT 13.4.2006, 21:14
Код

ceil();

Автор: Ignat 14.4.2006, 09:18
PARROT, хоть ответ правильный, но раздел-то по MySQL, а не PHP, кстати, лучше так

Код

$a="0.00";
$val=$a+0;
//Либо
$val=(int)$a;


А говоря о MySQL - Данный вопрос поставлен некорректно. Во-первых, в поле какого типа хранится? Во-вторых, нужно отбрасывание или арифметическое округление?

Автор: Reptor 14.4.2006, 16:47
поле типа decimal(10,2) нужно не округление а просто отбрасывание, так как всеровно там будучисла целые

Автор: Reptor 15.4.2006, 16:36
что нет никакого способа такое зделать

Автор: Ignat 17.4.2006, 09:18
Если нет необходимости работать с отрицательными:
Код

SELECT FLOOR(`decimal_field`);


Если важны отрицательные, можно воспользоваться округлением:
Код

SELECT ROUND(`decimal_field`);


Если нужно отбрасывание и для положительных и для отрицательных:
Код

SELECT IF(`decimal_field`>0, FLOOR(`decimal_field`), CEIL(`decimal_field`));


Цитата(Reptor @  14.4.2006,  17:47 Найти цитируемый пост)
так как всеровно там будучисла целые 

Тогда нет смысла хранить их в поле DECIMAL, преобразуй в INT. Это наиболее грамотное решение.

Цитата(Reptor @  15.4.2006,  17:36 Найти цитируемый пост)
что нет никакого способа такое зделать 

Это называется апнуть тему. Больше так не надо делать.
Не всегда на выходных люди имеют возможность ответить. 

И напоследок: вы пробовали справочник по MySQL почитать? Там всё это есть. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)