Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.23;
Скачать: CL | DM;

Вниз

Вопрос про select числа с разделителем дробной части.   Найти похожие ветки 

 
vegarulez ©   (2009-08-26 15:53) [0]

доброго времени суток всем мастерам!

Подскажите как решить вот такую проблемку.
делаю

   
Sql.Text:="Select `id`,`с_sum` from `t1` where 1";
open;

и проблема состоит в следующем, если число не целое, а есть дробная часть, то в резуьтате селекта она будет. Если же число целое, без дробной части то в результате будет число без дробной части.
Вопрос - как мне получить результат чтобы в нём при любом числе через запятую была дробная часть, 2 знака. т.е. при числе 123 допустим чтобы селект выдал 123,00


 
Медвежонок Пятачок ©   (2009-08-26 16:13) [1]

в числах нет запятых.
запятые только в строках.
displayformat


 
vegarulez ©   (2009-08-26 16:49) [2]

пасип за "развёрнутый" ответ.
подтолкнул...

Select `id`, format(`c_sum`,"0.00") from `t1` where 1


 
Inovet ©   (2009-08-26 17:25) [3]

> [2] vegarulez ©   (26.08.09 16:49)
> пасип за "развёрнутый" ответ.
> подтолкнул...
>
> Select `id`, format(`c_sum`,"0.00") from `t1` where 1

Да не там, а в своствах поля от TField.


 
Сергей М. ©   (2009-08-26 21:36) [4]


> vegarulez ©   (26.08.09 16:49) [2]


И где же тут displayformat ?


 
vegarulez   (2009-08-26 22:30) [5]


> Inovet ©   (26.08.09 17:25) [3]

хм... чо=то вообще не пойму о чём ты? В базе чтоле в свойствах? Априори то - что в базе ничего не подлежит изменению.


> Сергей М. ©   (26.08.09 21:36) [4]

я понял это как - "Смотри format"... собственно его и посмотрел и сделал с ним. Или я не правильно всё понял?


 
Inovet ©   (2009-08-26 22:55) [6]

> [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 (его видимо надо).


 
MsGuns ©   (2009-08-27 15:19) [7]

vegarulez ©   (26.08.09 16:49) [2]

Если мне память не изменяет
Select `id`, cast(c_sum as Currency) as c_sum from `t1` where 1


 
Vitalts   (2009-08-27 15:33) [8]

Select `id`,`to_number(с_sum,`999999999.99`)` from `t1` where 1


 
Inovet ©   (2009-08-27 16:08) [9]

> [8] Vitalts   (27.08.09 15:33)
> Select `id`,`to_number(с_sum,`999999999.99`)` from `t1`
> where 1

Теперь на клиенте умнож это "число" на 2.


 
Vitalts   (2009-08-27 17:16) [10]


> Теперь на клиенте умнож это "число" на 2.

и что? Чем не число? Правда, в случае целочисленных значений, они таковыми и остаються.

Select id, round(с_sum,2) from t1 where 1

это приводит и целочисленные значения к виду до 2-х знаков в дробной части


 
Медвежонок Пятачок ©   (2009-08-27 17:31) [11]

разговор о знаках в дробной части числа не имеет смысла без уточнения типа данных поля в таблице.
для большинства вещественных типов это понятие вообще лишено смысла.

то же самое и на клиенте. Для ftFloat например вообще нет такого понятия как число знаков после зяпятой.


 
Vitalts   (2009-08-27 17:37) [12]


> <Цитата>
>
>
> Медвежонок Пятачок ©   (27.08.09 17:31) [11]

Вопрос ставился иначе. Человеку нужно получить нисмотря ни на что число с точностью до 2-х знаков. И пох на тип данных поля, пусть там даже int, нужно и баста


 
Медвежонок Пятачок ©   (2009-08-27 17:44) [13]

Я бы сказал, что ему нужна строка, а не число.


 
Inovet ©   (2009-08-27 18:41) [14]

> [10] Vitalts   (27.08.09 17:16)
>
> > Теперь на клиенте умнож это "число" на 2.
>
> и что? Чем не число? Правда, в случае целочисленных значений,
> они таковыми и остаються.

А я незаметил to_number, это видимо приведение к типу с фиксированной точкой (нафиг там тогда такая маска)? Но автор тут похоже другого хотел.



Страницы: 1 вся ветка

Текущий архив: 2011.01.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.009 c
2-1288253719
noob_one
2010-10-28 12:15
2011.01.23
Не пойму пределение типа. Объясните, пожалуйста.


2-1288890745
Alik
2010-11-04 20:12
2011.01.23
Проблема с WriteFile ReadFile


15-1286141385
Германн
2010-10-04 01:29
2011.01.23
VLC, VideoLAN


15-1286210774
fen1ks
2010-10-04 20:46
2011.01.23
построение параболы по 3 точкам


2-1288876929
Кирей
2010-11-04 16:22
2011.01.23
Недостаточно сведений из основной таблицы для обновления