Кто-то явно считать не умеет... :( - страница 4

 
Спартак Угланов:
либо я чего то не понимаю из вашей дискуссии, либо .. одно из трёх

Проще скрипт написать

void OnStart()
{
   Alert(mF(54,100));
}

double mF(double a, int b)
{
   return(a/b);
}
 
Maxim Kuznetsov:

очень большая просьба - если предлагаете краткий код к обсуждению, то вставляйте его прямо к текст сообщения. А не как вложенный файл.

не принуждайте людей что-то скачать, запустить mt, только чтобы посмотреть и потом удалить

если человек не проверит сам, а просто посмотрит на код, он не увидит результат
но замечание учту

 
zvezdocheet:

Прежде чем утверждать, проверяйте. Эта штука дала 0.54. Если аргументы разного типа, преобразуется к старшему

Про ; - пардон. В последнее время всё больше с Питоном... А там этого не надо )))

А по сути, я ж написал - утрировано. ;)

 
zvezdocheet:

Проще скрипт написать

А если так:

void OnStart()
{
   Alert(mF(54/100));
}

double mF(double a)
{
   return(3.14/a));
}
 
Сергей Таболин:

А если так:

Ну и зачем?
 
Сергей Таболин:

А если так:

То будет как было:
Сначала целочисленное деление с целочисленным результатом, потом преобразование в дабл и передача в функцию.
 
Сергей Таболин:

Про ; - пардон. В последнее время всё больше с Питоном... А там этого не надо )))



Может быть в этом проблема?
 
zvezdocheet:
Ну и зачем?

Так ведь и затем!

Все понимают, что 54/100 = 0.54 а не 0

Почему бы сразу не перевести (на уровне компилятора, например) это в 54.0/100.0 коль уж функция требует дабл. Зачем результат обрезается до инта, а потом преобразуется в дабл?

 
PapaYozh:

Может быть в этом проблема?

Питон медленный. Но у него 54/100 никогда не будет 0. Только если напрямую ему скажешь преобразовать.

 
Сергей Таболин:

Питон медленный. Но у него 54/100 никогда не будет 0. Только если напрямую ему скажешь преобразовать.

так ты-ж ему напрямую и говоришь - рассматривай милый питон оба числа как double..

котому как целочисленное деление там это другой совсем оператор '//' 

Причина обращения: