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 

 

 

 

 

Responder a