-
доброго времени суток всем мастерам! Подскажите как решить вот такую проблемку. делаю
Sql.Text:='Select `id`,`с_sum` from `t1` where 1';
open;
и проблема состоит в следующем, если число не целое, а есть дробная часть, то в резуьтате селекта она будет. Если же число целое, без дробной части то в результате будет число без дробной части. Вопрос - как мне получить результат чтобы в нём при любом числе через запятую была дробная часть, 2 знака. т.е. при числе 123 допустим чтобы селект выдал 123,00
-
в числах нет запятых. запятые только в строках. displayformat
-
пасип за "развёрнутый" ответ. подтолкнул... Select `id`, format(`c_sum`,"0.00") from `t1` where 1
-
> [2] vegarulez © (26.08.09 16:49) > пасип за "развёрнутый" ответ. > подтолкнул... > > Select `id`, format(`c_sum`,"0.00") from `t1` where 1
Да не там, а в своствах поля от TField.
-
> vegarulez © (26.08.09 16:49) [2]
И где же тут displayformat ?
-
> Inovet © (26.08.09 17:25) [3]
хм... чо=то вообще не пойму о чём ты? В базе чтоле в свойствах? Априори то - что в базе ничего не подлежит изменению.
> Сергей М. © (26.08.09 21:36) [4]
я понял это как - "Смотри format"... собственно его и посмотрел и сделал с ним. Или я не правильно всё понял?
-
> [5] vegarulez (26.08.09 22:30) > > > Inovet © (26.08.09 17:25) [3] > > хм... чо=то вообще не пойму о чём ты? В базе чтоле в свойствах? > Априори то - что в базе ничего не подлежит изменению. > > > Сергей М. © (26.08.09 21:36) [4] > > я понял это как - "Смотри format"... собственно его и посмотрел > и сделал с ним. Или я не правильно всё понял?
Свойство DisplayFormat у потмков TField, если в инспекторе объектов, то двойной клик на датасете сделай - увидишь список полей, ну и далее свойства c_sum (его видимо надо).
-
vegarulez © (26.08.09 16:49) [2]
Если мне память не изменяет Select `id`, cast(c_sum as Currency) as c_sum from `t1` where 1
-
Select `id`,`to_number(с_sum,`999999999.99`)` from `t1` where 1
-
> [8] Vitalts (27.08.09 15:33) > Select `id`,`to_number(с_sum,`999999999.99`)` from `t1` > where 1
Теперь на клиенте умнож это "число" на 2.
-
> Теперь на клиенте умнож это "число" на 2.
и что? Чем не число? Правда, в случае целочисленных значений, они таковыми и остаються.
Select id, round(с_sum,2) from t1 where 1
это приводит и целочисленные значения к виду до 2-х знаков в дробной части
-
разговор о знаках в дробной части числа не имеет смысла без уточнения типа данных поля в таблице. для большинства вещественных типов это понятие вообще лишено смысла.
то же самое и на клиенте. Для ftFloat например вообще нет такого понятия как число знаков после зяпятой.
-
> <Цитата> > > > Медвежонок Пятачок © (27.08.09 17:31) [11]
Вопрос ставился иначе. Человеку нужно получить нисмотря ни на что число с точностью до 2-х знаков. И пох на тип данных поля, пусть там даже int, нужно и баста
-
Я бы сказал, что ему нужна строка, а не число.
-
> [10] Vitalts (27.08.09 17:16) > > > Теперь на клиенте умнож это "число" на 2. > > и что? Чем не число? Правда, в случае целочисленных значений, > они таковыми и остаються.
А я незаметил to_number, это видимо приведение к типу с фиксированной точкой (нафиг там тогда такая маска)? Но автор тут похоже другого хотел.
|