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

Вниз

преобразование типов   Найти похожие ветки 

 
***_Diman_***   (2005-07-21 20:02) [0]

немного не в тему, звиняйте. не работает такая вещь
WCHAR szBuffer[10] = тут число в виде ессно строки > "25.00"
float (или double) x;
x = atof(LPCSTR(&Buffer));
вывожу x
wsprintf(szBuffer,TEXT("%.2f"),x);
в szBuffer почему то уходит просто 2.00... ???
какая-то странная конверсия... что не так ?


 
Fay ©   (2005-07-21 20:09) [1]

2 **_Diman_***   (21.07.05 20:02)
atof, wsprintf - это из какого юнита? А то у меня не компилится...
8)


 
Eraser ©   (2005-07-21 20:36) [2]

***_Diman_***   (21.07.05 20:02)
что не так ?


а как надо?

Fay ©   (21.07.05 20:09) [1]
это из какого юнита?


;-)


 
***_Diman_***   (2005-07-22 06:35) [3]

ну и что, что это си... :) здесь многие и си знают, а лучшего форума я ещё не встречал, может здесь помогут


 
***_Diman_***   (2005-07-22 06:38) [4]

Eraser ©   (21.07.05 20:36) [2]
а как надо?


Что значит "как надо?" надо чтобы число корректно преобразовывалось. 25.00 преобразуется в 2.00 - это явно ненормально. в дельфи это легко и просто но жизнь заставляет си пользовать, а вот с ним несколько проблемно работать


 
alpet ©   (2005-07-22 07:03) [5]

MSDN мало читаем. Функция  atof (AnsiToFloat) не может работать с юникодовскими строками. В библиотеке Visual C(++) есть парная ей _wtof - как раз для этих целей. Мне еще не понятно, почему у вас компилятор не ругается, на несоотвествие типов.


 
***_Diman_***   (2005-07-22 07:56) [6]

>alpet
Пасибки, попробую аналог! А в хелпе ни слова о _wtof! поищу... atof работает, но "подхватывает" только первый символ строки, я уж думаю ну неужели все остальные невалидные? ещё раз сенькс.


 
***_Diman_***   (2005-07-22 08:56) [7]

Мдя... На _wtof ругнулся, сказал undeclared identifier. Весь хелп облазил - никакого эффекта. atol (!) исправно возвращает long с целой частью числа, т.е. из 25.35 вытаскивает 25, atof же выдирает только первую цифру из буфера (ну как уже говорил). Юзаю eMbedded ЦЭ ++ 4.0 может это ЦЭ такой корявый? Как преобразовать строку в float/double ? Если не в лом просветите, сильно благодарен буду.


 
dmitry501 ©   (2005-07-22 09:02) [8]

Насколько я знаю в PocketPC все строки тока в unicode. Поэтому в eVC нет wtof, т.к. это atof



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

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

Наверх




Память: 0.48 MB
Время: 0.041 c
1-1124632605
chortik
2005-08-21 17:56
2005.09.11
scrollbar


6-1117004794
ksa3003
2005-05-25 11:06
2005.09.11
Создание или имитация браузера


1-1124444871
Maximus86
2005-08-19 13:47
2005.09.11
Delphi 6 и Delphi 7


11-1106571334
WhiteGuy
2005-01-24 15:55
2005.09.11
KeyDown, strtoint, StringReplace ...


8-1114983781
Apollon
2005-05-02 01:43
2005.09.11
OpenGL. Свет и текстуры