Написать крутую формулу с If else. С меня печеньки!
Прежде всего, отмечу, что я не знаю толком язык Java, но движок моего сайта на Bitrix, а в нем, для математических вычислений используется Java.
Я уже использовал math.pow и еще что-то, но всё это для простетских формул =) Хочу написать серьезную формулу, но не знаю, как точно это сделать. Поэтому прошу помощи у вас! Знатоки, внимание вопрос! Мне нужно написать формулу с использованием IF и вроде бы Else Суть такова: Если (х*у/10000) меньше чем 0.1, ТО (х*у/10000) равно 0.1*(a*b) Если (х*у/10000) больше 0.1 то тогда (х*у/10000)*(a*b) Всё нужно прописать в одну строчку, ибо больше строчек нет. Я в неведении, как это сделать :( |
Цитата:
Цитата:
Могу вас разочаровать, данный проект посвящен JavaScript, не Java. Цитата:
Вы, думаю, за 5 справитесь. http://learn.javascript.ru/ifelse |
А теперь представьте ситуацию, что вы заходите в магазин какой-нибудь специализированной техники и пытаетесь узнать то, что не знаете совершенно. А продавец, пользуясь своим преимуществом, отвечает на ваши вопросы саркастически и язвительно. Не приятная ситуация..
Если вы знаете в какой то области больше чем другие, это не значит, что вы можете вести себя как мудак, господин Lemme |
Цитата:
А за время написания этого поста, вы могли бы посетить ссылку, которую я вам скинул и написать это: var result = 0; if (х*у/10000 < 0.1) { result = 0.1*(a*b); } else { result = (x*y/10000) * (a*b); } А если бы почитали еще минут 5, то написали бы это: var result = х*у/10000 < 0.1 ? 0.1*(a*b) : (x*y/10000) * (a*b); |
Lemme,
дважды вычислять одно и тоже не стоит. var result = (с = х*у/10000) < 0.1 ? 0.1 * a * b : с * a * b; |
laimas, не знал о таком=) Спасибо.
|
Цитата:
var с = х * у / 10000; var result = с < 0.1 ? 0.1 * (a * b) : с * (a * b); |
Цитата:
Цитата:
|
function f(x, y, a, b){ return (x * y / 10000 < 0.1 && 0.1 * (a * b)) || (x*y/10000) * (a*b); } |
Цитата:
Цитата:
Цитата:
Цитата:
PS. Если вас лично беспокоит глобальность, ну так кто мешает var c, result = (с = х*у/10000) < 0.1 ? 0.1 * a * b : с * a * b; |
Цитата:
Цитата:
1.3 * 1.2 * 1.4 // 2.1839999999999997и 1.3 * (1.2 * 1.4) // 2.184и посмотрите разницу. Я понимаю что по принципам математики это одно и тоже, но не для JavaScript Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Меня это нисколько не беспокоит, ибо я пишу так - требуется в блоке N переменных, значит я их заранее объявлю, не объявляя и потом по ходу var, var, var... Вот и все, без всякой абстракции. А если автор темы этого не знает, ну так ему пусть ваша абстракция и будет в назидание. ) |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
1) Я могу привести не один пример когда в постах (назовем их условно по вашему "новичков") дают безупречное решение - и с var все в порядке, и решение оригинальное. Но код решения для новичков вряд ли понятен, они его просто копируют и дело с концом. И я говорю о сложности куда более для них непонятной чем: a = (b = 12) > m ... , где все просто, и присвоение, и приоритет в скобках почему, и условие результата в приоритете описанного... Ну что смеяться то? Что тут архисложно то? 2) Кроме сложного кода предлагаемого решения, часто дают решения на то, что изначально уже не верно - представление задачи. Я о том, что изначально не верное представление задачи автором, и как следствие неудачное представление данных ее, куда гораздо страшнее, чем на начальном этапе где-то сделать ошибку по не знанию языка. Второе исправить легко и оно исправится рано или поздно если учить язык. А вот первое, это не всегда - не думать, а взять то, что предложено и использовать, сперва это привычка, а потом правило. А думалка для чего? Я не думаю, что a = (b = 12) > m для тех кто привык задумываться, это будет сложно для понимания. 3) И часто пишут так, не верите, а проверьте: var a = n if(a) ... и все, более нигде эта переменная не используется. И более того такое и предлагают в решениях. А спрашивается зачем? Если открыть учебник хороший, в нем будет упоминание того, что так делать не надо, это никчемная операция. Самое плохое в том, что даже после того как об этом будет сказано авторе поста, не все "исправляются", что это, уже привычка? 4) Я могу тоже полистать темы форума и привести разные подобные излишества, хотя они безупречны в контексте языка. Но они вредны для думалки. А я не Дон Кихот, бороться с этим не намерен - тот кто привык думать, и хочет научится, тот поймет, что-то даже и исправит если что, тот кто привык просто копировать готовое, так это его проблемы. Вот и вся моя философия. ) |
Цитата:
|
Топикстартер - гений троллинга.
|
Часовой пояс GMT +3, время: 19:46. |