Boa tarde, obrigado pelas respostas Raphael, através dela consegui chegar a isso:
CODE
on (press) {
cm2 = Number(larg)*Number(comp)*Number(qtd);
if (cm2<=500) {
pre = Number(150);
} else if (cm2>=501) {
pre = Math.abs(Number((cm2-500)*Number(0.15)+Number(150))*Number(0.02)-Number((cm2-500)*Number(0.15)+Number(150)));
}
}
Explicando:
Existem 5 campos com as seguintes Vars: larg, comp, qtd, cm2 e pre.
Quando preenchido os campos larg, comp e qtd eu aperto o botão com o código acima e ele me da dois resultado, 1 no campo cm2 de acordo com essa conta:
CODE
cm2 = Number(larg)*Number(comp)*Number(qtd);
E outro no campo pre com essa conta:
CODE
Math.abs(Number((cm2-500)*Number(0.15)+Number(150))*Number(0.02)-Number((cm2-500)*Number(0.15)+Number(150)));
Foram acrescentado alguns números necessários na conta que preciso que é subtrair 500 e depois adicionar 150.
Acima fiz o seguinte > O resultado do campo cm2 é subtraido por 500, multiplicado por 0.15, adicionando 150 e depois multiplicado por 0.02 que me dará 2% do total como resultado, como não sei como pegar o resultado e subtrair dele 2% precisei fazer isso.
Então como o resultado fica só os 2% do total preciso do total - 2% então na mesma conta fiz pegar novamente o valor do campo cm2 subtrair por 500, multiplicar por 0.15, adicionar 150.
Ficou assim: 2% do total - total, então recebo o resultado negativo, usei então
CODE
Math.abs()
para inverter negativo para positivo no campo.
AGORA O PROBLEMA
Como citei no post acima preciso de valores diferentes nas contas de acordo com o resultado do campo cm2, as linhas:
CODE
if (cm2<=500) {
pre = Number(150);
Fazem caso cm2 seja menor igual que 500 o campo pre seja 150, até ai tudo bem, agora as linhas:
CODE
} else if (cm2>=501) {
pre = Math.abs(Number((cm2-500)*Number(0.15)+Number(150))*Number(0.02)-Number((cm2-500)*Number(0.15)+Number(150)));
Fazem caso cm2 seja maior igual que 501 ele faça a conta que expliquei acima, em cima de 2%.
Tentei então fazer o seguinte para fazer as contas em cima de 3%, 5% etc como citado no post do tópico:
CODE
on (press) {
cm2 = Number(larg)*Number(comp)*Number(qtd);
if (cm2<=500) {
pre = Number(150);
} else if (cm2>=501) {
pre = Math.abs(Number((cm2-500)*Number(0.15)+Number(150))*Number(0.02)-Number((cm2-500)*Number(0.15)+Number(150)));
} else if (cm2>=1001) {
pre = Math.abs(Number((cm2-500)*Number(0.15)+Number(150))*Number(0.03)-Number((cm2-500)*Number(0.15)+Number(150)));
}
}
Mas não deu certo, ele continua fazendo a conta em cima dos 2% (0.02), não passa a fazer em cima dos 3% (0.03) quando cm2 é maior que 1001, o que devo mudar para acrescentar mais casos?
Obrigado desde já !