Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,064
1

Округление не работает

11.02.2018, 21:39. Показов 1619. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добра всем
Вроде простая задача округлить до точки, а стандартно не решится...

Не работает простое округление при переводе из строки в int

C++
1
2
AnsiString sd = "210.00";
int sum = StrToInt(sd);
я пробовал StrToFloat и все-равно выдает ошибку EConvert value
может как-то по другому можно в билдере 6 сделать?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2018, 21:39
Ответы с готовыми решениями:

RoundTo, как работает округление?
Всем доброго времени суток помогите разобраться, я немного запутался, суть такова: Есть у меня...

Не работает округление до целого
procedure TForm1.Button1Click(Sender: TObject); var d1,d3,q:Double; begin if not...

Не работает округление double переменных
работаю с 2я векторами, вычисляю угол между ними в радианах и перевожу в градусы. Надо брать...

Округление функцией Round() работает нелогично
Заранее извиняюсь если это слишком тривиально, но все же... Трудность следующая: Допустим...

6
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
11.02.2018, 22:10 2
Samrisbe,
C++
1
sd = sd.SubString(sd.Pos(".")+1,sd.Length());
0
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,064
11.02.2018, 22:14  [ТС] 3
Цитата Сообщение от lifeforce Посмотреть сообщение
а DecimalSeparator в системе?
можно и так:
C++
1
StringReplace(StringGrid1->Cells[1][n],".00,","",TReplaceFlags()<<rfReplaceAll);
но и это не то, попробую считывать до точки...
0
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
11.02.2018, 22:15 4
Лучший ответ Сообщение было отмечено Samrisbe как решение

Решение

C++
1
sd = sd.SubString(1,sd.Pos(".")-1);
0
случайный прохожий
2935 / 1951 / 606
Регистрация: 20.07.2013
Сообщений: 5,159
11.02.2018, 22:17 5
ТС, функция floor уже давно придумана. Для отрицательных чисел предварительно берешь модуль (откидываешь знак).
0
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,064
11.02.2018, 22:23  [ТС] 6
Цитата Сообщение от lifeforce Посмотреть сообщение
sd = sd.SubString(1,sd.Pos(".")-1);
Благодарю за помощь

Так я хотел сделать с самого начала, но вопрос почему не округляет не давал покоя
0
61 / 50 / 12
Регистрация: 25.01.2010
Сообщений: 255
13.02.2018, 08:34 7
C++
1
int sum = StrToFloat(sd);
вот так работает, но....
Десятичный разделитель у вас какой? Скорее всего запятая должна быть.
0
13.02.2018, 08:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2018, 08:34
Помогаю со студенческими работами здесь

Округление
Здравствуйте! Подскажите, пожалуйста, как в МАТЛАБе округлять число до десятых, сотых и т.п?.

Округление до 0,5
Уважаемые форумчане, подскажите как реализовать округление до 0,5. То есть, например: 4,3...

Округление
Помогите решить:если вводиться число 1.7 то выводиться Round(1.7)=2,а если число 6.3 то ...

Округление
Беру из хелпа пример по округлению: @Round(3.142857; 0.001); Получаю ошибку: An operator or...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru