Formato dinámico con string.format()

01/06/2016 - 10:57 por zarolo | Informe spam
¡ Hola !

a la aplicación que estoy creando debe mostrar las coordenadas del ratón en formato decimal (trasladadas y escaladas) y estoy batallando con el formato, resulta que se me ocurrió que el usuario pueda cambiar la cantidad de decimales a mostrar, ¿Como puedo hacerle para formatear ese número de manera dinámica, por ejemplo:


2 decimales = string.Format("{0:0.00},{0:0.00}",mx,my);
3 decimales = string.Format("{0:0.000},{0:0.000}",mx,my);
 

Leer las respuestas

#1 zarolo
02/06/2016 - 18:42 | Informe spam
zarolo escribió el 01/06/2016 10:57 :
¡ Hola !

a la aplicación que estoy creando debe mostrar las coordenadas del
ratón en formato decimal (trasladadas y escaladas) y estoy batallando
con el formato, resulta que se me ocurrió que el usuario pueda cambiar
la cantidad de decimales a mostrar, ¿Como puedo hacerle para formatear
ese número de manera dinámica, por ejemplo:


2 decimales = string.Format("{0:0.00},{0:0.00}",mx,my);
3 decimales = string.Format("{0:0.000},{0:0.000}",mx,my);


Andaba buscando algo directo pero no encontré por ningún lado, finalmente lo implementé con una función:

string formato = DecimalesDistancia>0 ?
"0."+Util.RepS(DecimalesDistancia,"0") : "0";
sbLoc.Text=string.Format("{0:"+formato+"},{1:"+formato+"}",mx,my);

public static string RepS(int n, string str)
{
string res = "";
for(int i=1;i<=n;i++)
res+=str;
return res;
}


Ejemplo de salida con dos decimales: "15387.85,8624.54"

por si a alguien le sirve.

Preguntas similares