javascript - d3.format separador de miles en variables?
Hola, una vez más estoy atascado en d3...
Me gustaría saber cómo usar un separador de miles en una variable, todos los ejemplos que he logrado encontrar parecen estar en datos estáticos.
Esto es lo que he intentado hasta ahora:
d3.csv("OrderValueToday.csv", function(obj) {
var text = 'Today = £';
var totalSales = text + d3.format(",") + obj[0].Today;
svgLabel = d3.select("#label").append("h2")
.text (totalSales);
});
Sin embargo, solo muestra un montón de cosas en la página web, esto es todo:
Today = £function (n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):a; if(0>p){var c=Zo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x=n.lastIndexOf("."),M=0>x?n:n.substring(0,x),_=0>x?"":t+n.substring(x+1);!s&&f&&(M=i(M));var b=v.length+M.length+_.length+(y?0:u.length),w=l>b?new Array(b=l-b+1).join(r):"";return y&&(M=i(w+M)),u+=v,n=M+_,("<"===o?u+n+w:">"===o?w+u+n:"^"===o?w.substring(0,b>>=1)+u+n+w.substring(b):u+(y?n:w+n))+e}20000
Así que todo lo que quiero es poder hacer que el valor de totalSales tenga separadores de miles, así como 20,000. Todo lo demás que he intentado no hace nada. He leído esto https://github.com/mbostock/d3/wiki/Formatting pero no vi qué podría hacer para mi escenario.
Cualquier ayuda sería muy apreciada. Saludos
Respuesta #1
Especificar un d3.format devuelve una función de formato, que luego debes llamar como una función, pasando el número que se va a formatear como argumento:
var myNumber = 22400;
d3.format(',')(myNumber); // returns '22,400'
A veces verás una función de formato almacenada como una variable así:
var commaFormat = d3.format(',');
commaFormat(1234567); // returns '1,234,567'
En tu caso, podrías hacer lo siguiente:
var totalSales = text + d3.format(',')(obj[0].Today);
