![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
преобразование типов
***_Diman_*** © (2005-07-21 20:02:00)немного не в тему, звиняйте. не работает такая вещь
WCHAR szBuffer[10] = тут число в виде ессно строки > '25.00'
float (или double) x;
x = atof(LPCSTR(&Buffer));
вывожу x
wsprintf(szBuffer,TEXT("%.2f"),x);
в szBuffer почему то уходит просто 2.00... ???
какая-то странная конверсия... что не так ?
dmitry501 (2005-07-22 09:02:00) [1]Насколько я знаю в PocketPC все строки тока в unicode. Поэтому в eVC нет wtof, т.к. это atof
***_Diman_*** (2005-07-22 08:56:00) [2]Мдя... На _wtof ругнулся, сказал undeclared identifier. Весь хелп облазил - никакого эффекта. atol (!) исправно возвращает long с целой частью числа, т.е. из 25.35 вытаскивает 25, atof же выдирает только первую цифру из буфера (ну как уже говорил). Юзаю eMbedded ЦЭ ++ 4.0 может это ЦЭ такой корявый? Как преобразовать строку в float/double ? Если не в лом просветите, сильно благодарен буду.
***_Diman_*** (2005-07-22 07:56:00) [3]>alpet
Пасибки, попробую аналог! А в хелпе ни слова о _wtof! поищу... atof работает, но "подхватывает" только первый символ строки, я уж думаю ну неужели все остальные невалидные? ещё раз сенькс.
alpet (2005-07-22 07:03:00) [4]MSDN мало читаем. Функция atof (AnsiToFloat) не может работать с юникодовскими строками. В библиотеке Visual C(++) есть парная ей _wtof - как раз для этих целей. Мне еще не понятно, почему у вас компилятор не ругается, на несоотвествие типов.
***_Diman_*** (2005-07-22 06:38:00) [5]Eraser © (21.07.05 20:36) [2]
а как надо?
Что значит "как надо?" надо чтобы число корректно преобразовывалось. 25.00 преобразуется в 2.00 - это явно ненормально. в дельфи это легко и просто но жизнь заставляет си пользовать, а вот с ним несколько проблемно работать
***_Diman_*** (2005-07-22 06:35:00) [6]ну и что, что это си... :) здесь многие и си знают, а лучшего форума я ещё не встречал, может здесь помогут
Eraser (2005-07-21 20:36:00) [7]***_Diman_*** (21.07.05 20:02)
что не так ?
а как надо?
Fay © (21.07.05 20:09) [1]
это из какого юнита?
;-)
Fay (2005-07-21 20:09:00) [8]2 **_Diman_*** (21.07.05 20:02)
atof, wsprintf - это из какого юнита? А то у меня не компилится...
8)