hola leonardo, yo tuve algo parecido, lo que hice fue una funcion que recibe el valor numerico y trunca en dos decimales, si es 0 trunca en 4 y si no tiene decimalesformatea a dos decimales en cero. Vos lo queres hacer con string.format pero me aprece que esa logica no se puede utilizar ahi.
Saludos Javier ----- Original Message ----- From: [EMAIL PROTECTED] To: [email protected] Sent: Thursday, March 01, 2007 5:30 PM Subject: [puntonet] String.Format 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
