sqlite научная запись во время выбора - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть несколько столбцов реальных значений, которые я хотел бы показать в научных записях.Похоже, довольно очевидный вопрос, но как показать научные записи во время выполнения команды SELECT в SQLite.Заранее спасибо.

1 Ответ

1 голос
/ 28 февраля 2012
Команды

SELECT производят целые числа, числа с плавающей запятой, строки, двоичные объекты и т. Д. Они создают структуры данных, хранящиеся в базе данных.Вы получаете их с эквивалентными типами C.

То, что вы запрашиваете, не имеет ничего общего с SQLite, потому что SQLite вернет float s для числовых значений с плавающей запятой.Вам нужен способ превратить тип C float в представление string в научной нотации.Это делается вне SQLite.

Что вы хотите, используя стандартные функции библиотеки C, это snprintf (примечание: pre-C99 не предлагает snprintf. C ++ не предлагает snprintf, хотямногие компиляторы C ++ предоставят его вам. Visual Studio имеет _snprintf. Вы можете использовать эту нестандартную версию или std::stringstream, используя манипуляторы IOS . В любом случае он предлагает никогда не использоватьsprintf! ):

char outputString[40];
snprintf(outputString, 40, "%e", yourFloatTakenFromSQLite);

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

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