Comunidad de diseño web y desarrollo en internet online

como redondear y poner decimales

Citar            
MensajeEscrito el 10 Sep 2010 06:03 pm
Hola que tal, estoy haciendo una especie de mini cotizacion de tres productos, con un combobox y una introduccion de texto dinámico, y al apretar un boton me multiplica lo que marca en el combo con el numero que dijite el usuario en el cuadro de introduccion del texto, todo me sale bien poniendo este codigo.

enter_btn.onRelease = function(){
resultado.text = (cantidad.text*1) + combobox.value + " $.";
}

me funciona muy bien , el problema es que como el resultado tiene que botar en monedas, es decir en un formato de dos decimales, ejemplo cuando hago una multiplicasion el resultado me bota asi, 9 $ o 10.5 $, 12.1 $, como hago para que el resultado me salga asi = 9.00 $, o 10.50 S, 12.10 $. de ante mano gracias por sus respuestas. Saludos.

Por Anddy Cero

42 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2010 06:44 pm
hola, mmmmmm se me ocurre que tu resultado lo convietas en string para poder poner 0s despues del punto decimal .10 .00

Código :

var a  = 19.83123;
trace('primero a = ' + a + ', tipo:' + typeof(a));
a = calc (a);
trace('luego a = ' + a + ', tipo:' + typeof(a));


function calc (p:Number) {
   var myInt:Number = Math.floor(p);
   var myFloat:Number = p - Math.floor(p);
   
   var floatRounded:Number = Math.round(Math.round(myFloat * 100)/10);
   
   var finalNum:String = myInt.toString() + '.' + ((floatRounded==0) ? '00' : floatRounded.toString()  + '0');
   
   return finalNum;
}

A ver si te sirve esto, salu2!

Por comicSans

Claber

151 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Sep 2010 03:49 pm
Hola que tal gracias por la respuesta, no se si soy yo, pero lo prove y el resultado me sigue saliendo igual, mmmm... habria otra forma de hacerlo? Gracias...

Por Anddy Cero

42 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Sep 2010 03:09 am
a ver prueba asi:

Código PHP :

enter_btn.onRelease = function()
{
// le vas enviar un valor numerico a la funcion llamada 'calc'
// y esta te va a regresar (return) un valor String con .00
resultado.text = calc(combobox.value * cantidad.text);
}

// Entonces creas y llamas tu funcion 'calc'
// recibe como parametro 'p' un valor numerico que procesa
// y lo devuellve como cadena de caracteres
function calc (p:Number) {
   // aqui separa numero entero de decimales
   var myInt:Number = Math.floor(p);
   var myFloat:Number = p - Math.floor(p);
   // ahora redondea el decimal
   var floatRounded:Number = Math.round(Math.round(myFloat * 100)/10);
   // por ultimo forma la cadena y analiza poner 00, 10, 20, ...
   var finalNum:String = myInt.toString() + '.' + ((floatRounded==0) ? '00' : floatRounded.toString()  + '0');
   // aqui puedes agregar que te devuelva ademas $
   return finalNum + ' $';
}

Por comicSans

Claber

151 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Sep 2010 03:25 pm
Ahora si esta perfecto, Gracias man, te pasaste, un saludo.

Por Anddy Cero

42 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.