Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Вопрос по дробям

Страниц (1): [1]
 

1. WolfVitaliy - 04 Июля, 2017 - 15:09:26 - перейти к сообщению
Нужно получить дробный результат из целых чисел.
На примере должно быть понятно что мне нужно.
Подскажите пожвлуйста

int x1=11, x2=10;
double y;
y=x1/x2;
textout(1, 100, 500, "y = "+format(y), 1);
sleep (5000);

Должно получится 1.10 (два символа после запятой)
а выдает 1.000000 (целое цисло в дробном виде)

Заранее благодарен.
2. Kibor - 04 Июля, 2017 - 15:12:53 - перейти к сообщению
double x1=11, x2=10;
3. WolfVitaliy - 05 Июля, 2017 - 03:03:54 - перейти к сообщению
Да. Знаю. Так работает.

Но мне нужно чтоб x1 и x2 выводились как целые.
Тогда подскажите как сделать чтоб в дробных числах после запятой отображалось определенное количество символов. Или совсем не отображалось.
4. Kibor - 05 Июля, 2017 - 03:44:17 - перейти к сообщению
перевести в текст, его обрезать
5. Dantes3000 - 05 Июля, 2017 - 03:44:29 - перейти к сообщению
Ну наверно надо дабл к стрингу, потом стринг к чару и выводить первый символ
6. WolfVitaliy - 05 Июля, 2017 - 04:00:06 - перейти к сообщению
Должна быть какая то команда как в других языках программирования
7. Kibor - 05 Июля, 2017 - 05:02:50 - перейти к сообщению
нет необходимости. пишите свою функцию.
тут другие команды, спецефические
8. Kibor - 05 Июля, 2017 - 09:36:49 - перейти к сообщению
CODE:
int x1=11, x2=10;
double y;



double x1t=x1, x2t=x2;
y=x1t/x2t;
textout(1, 100, 500, "y = "+dsc(y), 1);
sleep (5000);



function dsc(double z)
{
string q=format(z);
int a=size(q);
char g[64];
strcpy(#g[0], q);
q="";
for (int i=0; i<a-2; i++)
{
q=q+g[i];
if (g[i]=='.')goto df;
}
df: q=q+g[i+1];
q=q+g[i+2];
return q;
}
9. WolfVitaliy - 07 Июля, 2017 - 04:07:15 - перейти к сообщению
Kibor, спасибо огромное. Все сделал.
Я только взял эту функцию и вставил в свой код.
Все отлично работает.
Так как я являюсь любителем, то много бы времени потратил на это.

Powered by ExBB FM 1.0 Final