Al haber creado un tipo de número propio (en realidad DoubleDouble
), deseo implementar la interfaz IFormattable
. Así que de alguna manera debo analizar la cadena de formato.Soportar ToString (formato de cadena) con tipo de número personalizado
public string ToString(string format, IFormatProvider formatProvider) {
// formatting string according to format and using formatprovider?
return formattedString;
}
El usuario de la clase debe ser capaz de utilizarlo como un reemplazo para double
(o cualquier otro formato de número).
String.Format("{0:0.##}", (DoubleDouble)123.4567);
Mi pregunta es, ¿alguien sabe un buen tutorial sobre esto o puede darme algunas pistas? ¿Cómo apoyar la localización en este proceso?
Cómo analizar la cadena de formato? ¿Existen algunos métodos para ayudar en esta tarea o tengo que hacerlo todo "a mano" con regexp y tal?
Realmente busqué ayuda pero no pude encontrar ninguna, si encuentra algo en otro idioma (C, C++) que pueda ayudar, por favor hábleme al respecto.
Comenzaría con cadenas estándar antes de pasar a la variedad personalizada. ¿Qué pasa con la localización? http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx – Jodrell
Lo encontré bastante útil - http://codebetter.com/davidhayden/2006/03/12/open-closed-principle-iformattable- iformatprovider-icustomformatter/ –
Ya tengo un método ToString que devuelve una notación científica. El problema que estoy enfrentando es cómo analizar una cadena de formato y devolver un número correspondiente. El enlace dado solo usa modificadores muy básicos. –