Hola colegas
Estoy tratando de formatear un string cuyo valor viene de una variable
Decimal.
Necesito que me muestre siempre 2 decimales si son útiles y como máximo 4
decimales si no hay decimales útiles (distintos de cero) hasta la cuarta
posición.
Es decir, son valores que no van a ser más pequeños que 0,0001 y que si la
parte decimal útil tiene más de 2 cifras, que no me muestre más de dos.
Si recibo 0,000789 debería obtener 0,0007
Si recibo 0,003021 debería obtener 0,003
Si recibo 0,218992 debería obtener 0,21
Si recibo 1 debería obtener 1,00
Siempre dos decimales a menos que esos dos decimales no sean útiles, en cuyo
caso se va a buscar el primero útil hasta un máximo de 4
Si recibo 0,00000002 entonces me quedará 0,0000 o 0,00 es lo mismo, pero
en el negocio de mi aplicación eso nunca va a pasar. Se trata de un sistema
de compra y venta de monedas internacionales.
En este momento estoy usando String.Format({0:0.0000}) pero esto me fuerza
a que siempre haya cuatro dígitos y me quedan números como
1,2300 o 0,0100 que no quiero.
No pude encontrar la forma de hacer la cantidad de dígitos dinámica y
condicionada a que sean decimales útiles y no ceros.
¿Alguna idea?
Gracias
Leonardo