separador redondeo numeros numero number_format moneda miles formato formatear decimales con css css3 number-formatting

redondeo - Formateo de números(decimales, separadores de miles, etc.) con CSS



separador de miles css (9)

Bueno, para cualquier número en Javascript, uso el siguiente:

var a = "1222333444555666777888999"; a = a.replace(new RegExp("^(//d{" + (a.length%3?a.length%3:0) + "})(//d{3})", "g"), "$1 $2").replace(/(/d{3})+?/gi, "$1 ").trim();

y si necesita usar cualquier otro separador como coma, por ejemplo:

var sep = ","; a = a.replace(//s/g, sep);

o como una función:

function numberFormat(_number, _sep) { _number = typeof _number != "undefined" && _number > 0 ? _number : ""; _number = _number.replace(new RegExp("^(//d{" + (_number.length%3? _number.length%3:0) + "})(//d{3})", "g"), "$1 $2").replace(/(/d{3})+?/gi, "$1 ").trim(); if(typeof _sep != "undefined" && _sep != " ") { _number = _number.replace(//s/g, _sep); } return _number; }

¿Es posible formatear números con CSS? Es decir: lugares decimales, separador decimal, separador de miles, etc.


El grupo de trabajo de CSS ha publicado un Borrador de formato de contenido en 2008. Pero nada nuevo ahora.


No creo que puedas. Puede usar number_format() si está codificando en PHP. Y otros lenguajes de programación tienen una función para formatear números también.


No es una respuesta, sino perhpas de interés. Envié una propuesta al CSS WG hace unos años. Sin embargo, nada ha sucedido. Si de hecho ellos (y los proveedores de navegadores) verían esto como una verdadera preocupación del desarrollador, ¿quizás la pelota podría comenzar a rodar?


No puedes usar CSS para este propósito. Recomiendo usar JavaScript si es aplicable. Eche un vistazo a esto para obtener más información: JavaScript equivalente a printf / string.format

Además, como mencionó Petr, puedes manejarlo en el lado del servidor, pero depende totalmente de tu situación.


No, tienes que usar javascript una vez que está en el DOM o formatearlo a través de tu lenguaje en el lado del servidor (PHP / ruby ​​/ python, etc.)


Probablemente la mejor manera de hacerlo es combinar un lapso con una clase que denota el formato y luego usar Jquery. Cada forma de hacer el formateo en los tramos cuando se carga el DOM ...


Puede usar Jstl tag Library para formatear páginas JSP

JSP Page //import the jstl lib <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> <c:set var="balance" value="120000.2309" /> <p>Formatted Number (1): <fmt:formatNumber value="${balance}" type="currency"/></p> <p>Formatted Number (2): <fmt:formatNumber type="number" maxIntegerDigits="3" value="${balance}" /></p> <p>Formatted Number (3): <fmt:formatNumber type="number" maxFractionDigits="3" value="${balance}" /></p> <p>Formatted Number (4): <fmt:formatNumber type="number" groupingUsed="false" value="${balance}" /></p> <p>Formatted Number (5): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p> <p>Formatted Number (6): <fmt:formatNumber type="percent" minFractionDigits="10" value="${balance}" /></p> <p>Formatted Number (7): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p> <p>Formatted Number (8): <fmt:formatNumber type="number" pattern="###.###E0" value="${balance}" /></p>

Resultado

Número formateado (1): £ 120,000.23

Número formateado (2): 000.231

Número Formateado (3): 120,000.231

Número formateado (4): 120000.231

Número formateado (5): 023%

Número formateado (6): 12,000,023.0900000000%

Número formateado (7): 023%

Número Formateado (8): 120E3


Si ayuda ...

Utilizo la función PHP number_format() y el espacio estrecho No-break ( &#8239; ). A menudo se usa como un separador de miles no ambiguo.

echo number_format(200000, 0, "", "&#8239;");

Debido a que IE8 tiene algunos problemas para renderizar el Espacio Estrecho No-break, lo cambié por un SPAN

echo "<span class=''number''>".number_format(200000, 0, "", "<span></span>")."</span>";

.number SPAN{ padding: 0 1px; }