Кто-то явно считать не умеет... :( - страница 4 12345 Новый комментарий zvezdocheet 2021.07.11 16:52 #31 Спартак Угланов: либо я чего то не понимаю из вашей дискуссии, либо .. одно из трёх Проще скрипт написать void OnStart() { Alert(mF(54,100)); } double mF(double a, int b) { return(a/b); } [Удален] 2021.07.11 16:52 #32 Maxim Kuznetsov: очень большая просьба - если предлагаете краткий код к обсуждению, то вставляйте его прямо к текст сообщения. А не как вложенный файл. не принуждайте людей что-то скачать, запустить mt, только чтобы посмотреть и потом удалить если человек не проверит сам, а просто посмотрит на код, он не увидит результатно замечание учту [Удален] 2021.07.11 16:58 #33 zvezdocheet: Прежде чем утверждать, проверяйте. Эта штука дала 0.54. Если аргументы разного типа, преобразуется к старшему Про ; - пардон. В последнее время всё больше с Питоном... А там этого не надо ))) А по сути, я ж написал - утрировано. ;) [Удален] 2021.07.11 17:05 #34 zvezdocheet: Проще скрипт написать А если так: void OnStart() { Alert(mF(54/100)); } double mF(double a) { return(3.14/a)); } zvezdocheet 2021.07.11 17:11 #35 Сергей Таболин: А если так: Ну и зачем? PapaYozh 2021.07.11 17:11 #36 Сергей Таболин: А если так: То будет как было:Сначала целочисленное деление с целочисленным результатом, потом преобразование в дабл и передача в функцию. PapaYozh 2021.07.11 17:14 #37 Сергей Таболин: Про ; - пардон. В последнее время всё больше с Питоном... А там этого не надо ))) Может быть в этом проблема? [Удален] 2021.07.11 17:33 #38 zvezdocheet: Ну и зачем? Так ведь и затем! Все понимают, что 54/100 = 0.54 а не 0 Почему бы сразу не перевести (на уровне компилятора, например) это в 54.0/100.0 коль уж функция требует дабл. Зачем результат обрезается до инта, а потом преобразуется в дабл? Функция для замены в Обновление платформы MetaTrader 4 Справка по языку MQL5 [Удален] 2021.07.11 17:34 #39 PapaYozh: Может быть в этом проблема? Питон медленный. Но у него 54/100 никогда не будет 0. Только если напрямую ему скажешь преобразовать. Maxim Kuznetsov 2021.07.11 17:48 #40 Сергей Таболин: Питон медленный. Но у него 54/100 никогда не будет 0. Только если напрямую ему скажешь преобразовать. так ты-ж ему напрямую и говоришь - рассматривай милый питон оба числа как double.. котому как целочисленное деление там это другой совсем оператор '//' 12345 Новый комментарий
либо я чего то не понимаю из вашей дискуссии, либо .. одно из трёх
Проще скрипт написать
очень большая просьба - если предлагаете краткий код к обсуждению, то вставляйте его прямо к текст сообщения. А не как вложенный файл.
не принуждайте людей что-то скачать, запустить mt, только чтобы посмотреть и потом удалить
если человек не проверит сам, а просто посмотрит на код, он не увидит результат
но замечание учту
Прежде чем утверждать, проверяйте. Эта штука дала 0.54. Если аргументы разного типа, преобразуется к старшему
Про ; - пардон. В последнее время всё больше с Питоном... А там этого не надо )))
А по сути, я ж написал - утрировано. ;)
Проще скрипт написать
А если так:
А если так:
А если так:
Про ; - пардон. В последнее время всё больше с Питоном... А там этого не надо )))
Ну и зачем?
Так ведь и затем!
Все понимают, что 54/100 = 0.54 а не 0
Почему бы сразу не перевести (на уровне компилятора, например) это в 54.0/100.0 коль уж функция требует дабл. Зачем результат обрезается до инта, а потом преобразуется в дабл?
Питон медленный. Но у него 54/100 никогда не будет 0. Только если напрямую ему скажешь преобразовать.
Питон медленный. Но у него 54/100 никогда не будет 0. Только если напрямую ему скажешь преобразовать.
так ты-ж ему напрямую и говоришь - рассматривай милый питон оба числа как double..
котому как целочисленное деление там это другой совсем оператор '//'