Команды
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
, чтобы узнать, как контролировать количество десятичных разрядов.