![]() |
|
|
![]()
|
|
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
есть программка, которая проводит нехитрые подсчеты (по формулам) по страхованию. С++Builder
Внимание вопрос: Edit18->Text=N[X+m]/D[X]; надо их округлить. вот ещё некоторые выдержки, чтобы чуть было понятно: X=Edit1->Text.ToInt(); int q=101; D=new double [q+1]; for (i=0;i<q+1;i++) { D[i]=L[i]/pow((1+Edit3->Text.ToDouble()),i); } Я думаю: можно сделать RoundTo. да? Но куда и как её можно вставить? подскажите. Я вроде искала по форуму подобные темы, но не увидела того, что мне надо. может и плохо искала, но подскажите, а? pleeeeeasee(!!!) |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
Насколько я понял, тебе нужно округлить до целых чисел. Тогда можешь использовать сл. образом.
только подключи <Math.h>.
Expression Value RoundTo(1234567, 3) 1234000 RoundTo(1.234, -2) 1.23 RoundTo(1.235, -2) 1.24 RoundTo(1.245, -2) 1.24 Это сообщение отредактировал(а) codelord - 28.5.2005, 10:47 |
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
мне надо не до целых, а до хотя бы десятых.
так-то хорошо писать : х=2.3455677 roundto(х,-3) но у меня нет такого, что х= какому то контретному числу, а просто выводится результат вычисления. И его надо сократить. Что-то я не понимаю. |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
Делай тогда так, до сотых 0.00 и десятых 0.0 соответственно
|
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
ага СПАСИБО разобралась, сделала...(!!!)
а ещё можно спросить? : почему файл справки не работает - при нажатии f1 появляется окно - обратитесь к разработчику справки (разработчик - типа я )) типа нет такого раздела (с этими разделами я вообще ничего не понимаю) в общем в свойствах формы моей главной в Helpfile пишу имя файля справки, который я сделала, выше пишу номер раздела (оставляю - 0) Да и не только 0, и, 1, и, 2 и 3 пробовала ) короче , не работает, почему? |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
Если твой файл справки работает автономно без программы, сделай так
Скажем заведи пункт mainmenu, например help, ShotCut сделай F1, и вставь обработчик:
|
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
спасибо большое!!!!
а ещё ..ещё можно?....вот тоже надо, чтобы выводились округленные цифры. на форме есть элемент - StringGrid. Цифры (расчетные) берутся из другой формы: StringGrid1->Cells[1][1+i]=Form1->L[i]; на форме1 есть такое: int q=101; L=new long [q+1]; for (i=0;i<q+1;i++) { L[i]=StrToInt(RichEdit1->Lines->Strings[i]); } Куда тут можно что-нибудь записать для округления? Очень прошу помочь. |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
Я не очень понял, что ты хочешь округлять, точнее какой тип long?????
В общем я думаю, что тебе нужно округлять в RichEdit, т.е до того как туда попадут твои цифры. Но если это нельзя сделать, то перегрузить и округлить RichEdit, до того как ты будешь заполнять L, вот примерчик как я попробовал это сделать, может тебе подойдет.
|
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
так..да...неправильно я сказала..в L[i] -то что округлять -нечего )
ещё раз приведу текст кода формы1, мне надо округлить Di, Ni, Ci, Mi, а Li -берутся из файла и там действительно нечего округлять (балда я :-)
так как мне можно сделать?? |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
Марин, хочу обратить твое внимание на то, что это зловредное округление проделывается на этапе вывода.Т.к имеет строковый
тип, а в куске кода выше нет этого момента. Из того что имеем из кода, могу предложить далеко не оптимальный способ. Смысл в том, чтобы ввести переменную типа AnsiString, присвоить ей округленное значение, и после этого вернуть переконвертировав твоему массиву. Например для одного цикла:
|
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
ВСЁЁЁЁ !!!! СПАСИБО!!!!!! ВСЁ ОТЛИЧНО РАБОТАЕТ и даже справка (!!!) спасибо спасибо огромное! |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |