Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: округление float  (Прочитано 10967 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« : 29-07-2012 08:32 » 

сканирую строку
Код:
swscanf_s("Y2=2.60000","%[^=]=%f",....,)

результат
Код:
"Y2"
2.5999999 //WTF

а как-то сразу округлять возможно ?
« Последнее редактирование: 29-07-2012 08:53 от Алексей1153++ » Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 29-07-2012 10:20 » 

Алексей1153++, ты не путай экранное представление и внутреннее. При выводе на экран округляй. А так смысла нет.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 29-07-2012 10:40 » 

не всё так просто! Мне нужно именно "на экран" - транслирую из одного тесктового формата в другой

хотя, тут мысля одна вдруг появилась ) Сейчас оформлю

Добавлено через 13 минут и 37 секунд:
как я сразу не сообразил - можно в текстовом же виде и оставить )
Код:
std::wstring param;
std::wstring value;

param.resize(64,0);
value.resize(64,0);

int n=swscanf_s
(
L"Y2=2.60000"
,L"%[^=]=%[+-.0-9eE]"     //оть!
,&param[0],param.size()
,&value[0],value.size()
);

param=param.c_str();
value=value.c_str();
« Последнее редактирование: 29-07-2012 10:57 от Алексей1153++ » Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 29-07-2012 20:19 » 

Леш, это же такой баян! Это иррациональные числа для двоичного представления.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 30-07-2012 08:24 » 

мне этот боян надо заку показывать и при этом не пугать страшными словами Улыбаюсь)
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines