javascript - negrita - title tag html
Javascript: ¿Una forma más fácil de dar formato a los números? (5)
Estoy tratando de dar formato a varios números en mi página. Estos números representan un precio, un cambio en el precio o un porcentaje. Sé que Javascript tiene funciones para limitar el número de posiciones decimales, pero ¿existe algún soporte para otros tipos de formato, como agrupar números con comas, controlar si se muestra el +/-, etc.? Esto es lo que tengo hasta ahora:
var FORMATTER = {
price : function(value) { return ''$'' + value.toFixed(2); },
pricePer : function(value) { return (value * 100).toFixed(2) + ''%''; },
priceChg : function(value) { return (value >= 0 ? ''+'' : ''-'') + ''$'' + Math.abs(value).toFixed(2); }
};
Funciona bien, pero le gustaría agregar comas al formateador ''precio'', y puede ver que hay un hack en el formateador ''priceChg'' donde intento mover el signo +/- delante del ''$'' firmar.
Básicamente, espero que haya alguna biblioteca (jQuery está bien) que emule la clase DecimalFormat de Java.
Acaba de terminar una biblioteca js para dar formato a los números Numeral.js . Maneja decimales, dólares, porcentajes e incluso el formato de tiempo.
Aquí está el plugin NUMBERFORMATTER jQuery, los detalles a continuación:
https://code.google.com/p/jquery-numberformatter/
Desde el enlace de arriba:
Este plugin es un plugin NumberFormatter. Es probable que el formato de números sea familiar para cualquier persona que haya trabajado con código del lado del servidor como Java o PHP y que haya trabajado con la internacionalización.
EDITAR: Se sustituye el enlace por uno más directo.
Aquí está la versión YUI si alguien está interesado:
http://developer.yahoo.com/yui/docs/YAHOO.util.Number.html
var str = YAHOO.util.Number.format(12345, { thousandsSeparator: '','' } );
No, no hay soporte incorporado para el formateo de números, pero buscar en Google generará muchos fragmentos de código que lo harán por ti.
EDIT: me perdí la última frase de tu post. Pruebe http://code.google.com/p/jquery-utils/wiki/StringFormat para obtener una solución jQuery.
También intente dojo.number que tiene soporte de localización incorporado. Es un análogo mucho más cercano a NumberFormat / DecimalFormat de Java.