5 / 3 / 3
Регистрация: 06.10.2018
Сообщений: 59
1

Преобразование типов

14.05.2019, 23:48. Показов 4978. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Подскажите пожалуйста, каким образом вывести вместо числа - "0.1199E2" в формат "float".
Выводит не в "float" - естественно, а в том формате в котором хранятся числа.
SQL
1
 SELECT payment.amount
Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2019, 23:48
Ответы с готовыми решениями:

Преобразование типов
Доброго времени суток, форумчане. Подскажите, пожалуйста, в чем может быть проблема. Когда...

Преобразование типов
Не записывает переменную neisp в таблицу, поле в таблице текстовое, какое преобразование должно...

Преобразование типов
Не понимаю как в обычный запрос добавить столбец с предопределенным значением определенного типа...

Преобразование типов переменных
Возник небольшой вопрос Конвертировать следующие форматы BIT в FLOAT NVARCHAR в INT DATETIME...

5
89 / 108 / 15
Регистрация: 26.01.2014
Сообщений: 689
15.05.2019, 00:01 2
А %f в форматере вывода не пробовал?
А в каком формате у тебя числа хранятся? Я вожусь с этими самыми числами уже не помню сколько, а в каком формате они хранятся так и не знаю.
Удачи. Твой - Etien
0
5 / 3 / 3
Регистрация: 06.10.2018
Сообщений: 59
15.05.2019, 00:18  [ТС] 3
numeric (0.1199E2) - пример числа
Изображения
 
0
89 / 108 / 15
Регистрация: 26.01.2014
Сообщений: 689
15.05.2019, 01:14 4
Не понял. Наверное сегодня туп особенно. Что ты понимаешь под форматом хранения числа? Любое число это набор бит, типа "1 0 0 0 1 1 0 1" или в шестнадцатиричном виде "8d", или опять таки "0x8d". Именно так они и хранятся. Форматер вывода интерпретирует те или иные биты в соответствии со своим представлением о прекрасном. Он и определит в каком виде твоя переменная появится на экране (в файле). Не все комбинации бит годятся для всех форматов. Формально отработает, но на выводе будет ахинея. Если не знаешь что там, в переменной(?), напечатай ее как %x, уж шестнадцатеричную комбинацию бит поймешь всегда.
Описатели типов навроде int, float и тому подобные нужны для правильного выделения памяти и правильного определения допустимых операций с переменными. Преобразование типов может изменить это, с риском потерять информацию.
Твой Etien
1
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
15.05.2019, 07:10 5
У вас какой-то собственный специфический формат вывода.
Скорее всего в PostgreSQL именно так не получится вывести ни numeric, ни float, ни double presision.
Вот здесь можно посмотреть, как можно число преобразовать в форматированную строку

Можно попробовать как-то так
SQL
1
SELECT to_char('11.99'::NUMERIC, '9.9999EEEE');
Bash
1
2
3
4
   to_char   
-------------
  1.1990e+01
(1 row)
Либо только вручную писать собственную функцию, которая из числа сделает нужную строку.

Можете, кстати, поискать на просторах интернета какие-либо расширения или наработки в этом направлении.
Найдете что-то полезное, постите здесь, Вам еще и спасибо скажут.
1
89 / 108 / 15
Регистрация: 26.01.2014
Сообщений: 689
15.05.2019, 20:04 6
Извини. Я говорил с точки зрения языкового семейства "С". Возможно в твоем SQL что-то иначе. С SQL общался очень давно и не очень дотошно. Еще раз - извини.
Твой - Etien
0
15.05.2019, 20:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2019, 20:04
Помогаю со студенческими работами здесь

Преобразование типов в MS Access 2003
Господа, подскажите плз: грубо говоря, имеются 2 таблицы, структура практически одинакова, но в...

Округление до 2 знаков не используя преобразование типов
Создал таблицу с полями KOL1 decimal(13,2) , KOL2 decimal(13,2) Хочу вывести сумму с 2 знаками...

Преобразование типов данных в Access 2013
Ошибка 13 (преобразование данных). Но только в Access 2013. Сам я работаю в 2010. Работает без...

Преобразование типов
Кто знает, как преобразовать std::string в какой-либо другой тип? System::Convert не работает.

Преобразование типов
byte a; int b = 256; a = (byte)b; После приведения типа a = -6. Как...

Преобразование типов
DWORD dwRIFF=0; fIn.read((char*)&dwRIFF,4); label1->Text=dwRIFF; 1....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru