0

Diminuir ultimo dígito de uma variável javascript, var quantidade = 24455 tira ultimo digito independento do valor

criado por Nelson em 09/03/2012 2:21pm
Veja o Cógio abaixo:

<script language="javascript">
//função que bloqueia a entrada de acentos no campo essencia

function cancAcento(){
if (event.keyCode == 219 || event.keyCode == 222){
event.keyCode = 0
event.returnValue = false
}}

<!-- função para calcular os campos do form e retorna no mesmo form pra gravar no banco-->

function Calcula() {

// pega o campo rodo.value

var rodo = eval(document.form1.rodo.value);

// pega o campo comp.value

var comp = eval(document.form1.comp.value);

var resu = rodo/4*(rodo/4)*(comp)


if (eval(document.form1.oco1.value)>0){
var oco1 = eval(document.form1.oco1.value);
var oco2 = eval(document.form1.oco2.value);
var desco = oco1*oco2*(comp)
var quantidade = resu-desco;
}
else
{
var quantidade = resu;
}
//num passa o valor para o campo quantidade
document.form1.quantidade.value = quantidade;
}
</script>

// trata data pra prencher o campo data do cadastro

<?php

$data = date("Y-m-d")

?>
<td><form action="<?php echo $editFormAction; ?>" method="POST" name="form1" id="form1">
<?php
$com = $_POST["comp"];
?>
<table width="525">
<tr style="text-align: left">
<td width="116" align="left" class="texto1" style="text-align: left">Código:</td>
<td width="397"><label>
<input name="codigo" type="text" disabled="disabled" id="codigo" size="10"/></label></td>
</tr>
<tr>
<td class="texto1" style="text-align: left">Essência:</td>
<td><label>
<input name="essencia" type="text" id="essencia" size="50" value="" onkeydown="this.value = this.value.toUpperCase();cancAcento()" onkeyup="this.value = this.value.toUpperCase()"/></label></td>
</tr>
<tr>
<td class="texto1" style="text-align: left"><span class="texto1" style="text-align: left">Plaqueta</span>:</td>
<td><label>
<input name="plaqueta" type="text" id="plaqueta" size="10" /></label></td>
</tr>
<tr>
<td class="texto1" style="text-align: left"><span class="texto1" style="text-align: left">Comprimento</span>:</td>
<td><label>
<input name="comp" type="text" id="comp" size="10" value="" onblur="Calcula();"/></label></td>
</tr>
<tr>
<td class="texto1" style="text-align: left"><span class="texto1" style="text-align: left">Rodo</span>:</td>
<td><label>
<input name="rodo" type="text" id="rodo" size="10" value="" onblur="Calcula();"/></label>
</tr>
<tr>
<td class="texto1" style="text-align: left"><span class="texto1" style="text-align: left">Oco - 1</span>:</td>
<td><label>
<input name="oco1" type="text" id="oco1" size="10" value="" onblur="Calcula();"/></label>
</tr>
<tr>
<td class="texto1" style="text-align: left"><span class="texto1" style="text-align: left">Oco - 2</span>:</td>
<td><label>
<input name="oco2" type="text" id="oco2" size="10" value="" onblur="Calcula();"/></label>
</tr>
<tr>
<td class="texto1" style="text-align: left"><span class="texto1" style="text-align: left">Quantidade</span>:</td>
<td><label>
<input name="quantidade" type="text" id="quantidade" onblur="Calcula();" value="" size="10" readonly="readonly"/></label></td>
</tr>
<tr>
<td class="texto1" style="text-align: left">Preçod e Compra:</td>
<td><label>
<input name="vlcompra" type="text" id="vlcompra" size="10" /></label></td>
</tr>
<tr>
<td class="texto1" style="text-align: left">Data:</td>
<td><label>
<input name="data" type="text" id="data" size="10" value="<?php echo $data ?>"/></label></td>
</tr>
<tr class="texto1" style="text-align: left">
<td colspan="2" align="center"><input type="submit" name="gravar" id="gravar" value="gravar"/></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form></td>

use estes valore como exemplo

comp = 5
rodo = 284

quando tiver sera

oco1 = 10
oco2 = 15

resultado que no forme é "quatudade"

24455 gostaria que ficasse assim 2.445

pois trata de cubagem de toras de uma forma que as madeireiras usão na pratica que é assim.


Comprimento da Tora 5 mt
Rodo ou circunferência 2 mt e 84 centimetros
oco1 10 centimetro
oco 2 15 centimetro

vamos ao cálculo:
// sempre se divide por quantro idependento do valor do rodo isso regra.
rodo / 4 * o resultado da multiplicação Ex: rodo =284 /4 = 71*71 = 5041
(aqui já deveria eliminar o ultimo digito mas pode ser eliminado no campo quantidade que é o resultado sem e com oco se tiver).
vamos da continuidade ao cálculo
5041* comp
5041*5 = 25205

que neste caso é valor³ da tora mas pra isso devemos tira o ultimo dígito e o formato correto seria

2.520 m³

quando tem oco faz se o seguinte:

oco1*oco2 * comp
10*15 = 150 ou 15 se preferir tita o ultimo dígito aqui se tira no resultado.

150*5 = 750 menos ultimo digito que é
75 cm³

então resultado geral ficaria assim:
2520-75 = 2445

mas preciso ainda formatar pra ficar assim no banco

2.445

de já agradeço
fico no aguardo...

Lista de Respostas:

0
19/10/2012 4:33pm
(~12 anos atrás)
henrique conzatti respondeu:
Sou um nobbie por completo, mas será que uma operação bit a bit não resolve
isso? caso não ter esse recurso em javascript que ainda estou me introduzindo, não seria possível enviar essa variável para o PHP?

desculpa qualquer erro aqui, hehehe. Mas essa foi minha inspiração no momento que li sua pergunta...

^^

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)