trunc redondear parte obtener numeros numero limitar formatear digitos decimals decimales con javascript jquery rounding decimal-point number-formatting

redondear - obtener la parte decimal de un numero en javascript



En jQuery, ¿cuál es la mejor forma de formatear un número con dos decimales? (3)

Modificamos una función de Meouw para usarla con la función de teclado, porque cuando utilizas una entrada puede ser más útil.

Mira esto:

¡Hola!, @heridev y yo creamos una pequeña función en jQuery.

Puedes intentarlo a continuación:

HTML

<input type="text" name="one" class="two-digits"><br> <input type="text" name="two" class="two-digits">​

jQuery

// apply the two-digits behaviour to elements with ''two-digits'' as their class $( function() { $(''.two-digits'').keyup(function(){ if($(this).val().indexOf(''.'')!=-1){ if($(this).val().split(".")[1].length > 2){ if( isNaN( parseFloat( this.value ) ) ) return; this.value = parseFloat(this.value).toFixed(2); } } return this; //for chaining }); });

DEMO EN LÍNEA:

http://jsfiddle.net/c4Wqn/

(@heridev, @vicmaster)

Esto es lo que tengo ahora:

$("#number").val(parseFloat($("#number").val()).toFixed(2));

Me parece sucio. No creo que esté encadenando las funciones correctamente. ¿Tengo que llamarlo para cada cuadro de texto, o puedo crear una función separada?


Si estás haciendo esto en varios campos, o lo haces con bastante frecuencia, entonces tal vez un complemento sea la respuesta.
Aquí está el comienzo de un plugin jQuery que formatea el valor de un campo con dos decimales.
Se desencadena por el evento onchange del campo. Es posible que desee algo diferente.

<script type="text/javascript"> // mini jQuery plugin that formats to two decimal places (function($) { $.fn.currencyFormat = function() { this.each( function( i ) { $(this).change( function( e ){ if( isNaN( parseFloat( this.value ) ) ) return; this.value = parseFloat(this.value).toFixed(2); }); }); return this; //for chaining } })( jQuery ); // apply the currencyFormat behaviour to elements with ''currency'' as their class $( function() { $(''.currency'').currencyFormat(); }); </script> <input type="text" name="one" class="currency"><br> <input type="text" name="two" class="currency">


Tal vez algo así, ¿dónde podría seleccionar más de un elemento si lo desea?

$("#number").each(function(){ $(this).val(parseFloat($(this).val()).toFixed(2)); });