domingo, 17 de julio de 2016

Cadenas de Caracteres de Formato Estándar y Flags de Parseo en C# - Parte 1/5: Cadenas de Formato para Valores Numéricos

Índice

1. Introducción
2. Palabras Clave
3. Cadenas de Carácteres de Formato
4. Cadenas de Carácteres para Valores Numéricos
4.1 Formatos estándar
4.2 Formatos personalizados
5. Conclusiones
6. Literatura & Enlaces

1. Introducción

A partir de este nuevo artículo se da inicio a la serie de Cadenas de Caracteres de Formato Estándar y Flags de Parseo en C#. Esta serie comprende estos cinco artículos:
  1. Cadenas de Formato para Números
  2. Enumeración NumberStyles
  3. Cadenas de Formato para Fechas
  4. Enumeración DateTimeStyles
  5. Cadenas de Formato para Enumeraciones
En la primera parte -Cadenas de Formato para Valores Numéricos- el programador explora y comprende todas las cadenas de caracteres de formato numérico estándar: uso general, decimales, decimales con separador de grupos, padding con ceros a la izquierda, notación exponencial, entre otros más. Además, se estudia las cadenas de caracteres de formato numérico personalizados. Al final el programador de C# contará con los fundamentales acerca del manejo de este tipo de cadenas de caracteres de formato, lo que le facilitará en el futuro construir aplicaciones con los elementos estándar de .NET Framework de modo más eficiente.

2. Palabras Clave

  • .NET Framework
  • Cadena de caracteres
  • Formato numérico
  • Parseo
  • string

3. Cadenas de Caracteres de Formato

Una cadena de caracteres estándar controla la manera en que un tipo de dato numérico se convierte en su representación literal: objeto string. En Microsoft .NET Framework se cuenta con dos tipos de cadenas de caracteres de formato; a saber (Albahari, 2016)
  1. Cadenas de caracteres estándar: El programador sigue una guía general de uso estándar de C#. Para ello, el programador ha de especificar un objeto string de un único carácter seguido, opcionalmente, por un dígito (su significado depende del carácter especificado). Por ejemplo: "F3" o "C" o "N".
  2. Cadenas de caracteres personalizadas: El programador microgestiona una plantilla para formatear una cadena de caracteres. Un ejemplo podría ser "0:#.000E+00".
[Nota: Una cadena de caracteres personalizada no tienen ninguna relación con un proveedor de formato personalizado (Albahari, 2016).]

4. Cadenas de Caracteres para Valores Numéricos

4.1 Formatos estándar

La Tabla 1 enlista las cadenas de caracteres estándar para valores numéricos.
Cadenas de caracteres estándar para valores numéricos
Tabla 1. Cadenas de caracteres estándar para valores numéricos (Albahari, 2012).

Estas líneas de código C# describe los ejemplos anteriores: 

Archivo C# CadenasCaracteresEstandarNumeros.cs [Enlace alternativo][Enlace alternativo]: 

> Prueba de ejecución (online): http://ideone.com/DxNCt4

Cuando el programador no establece una cadena de caracteres de formato, el compilador asume que se trata de la cadena de caracteres general "G". Además, el formato sigue estas reglas (Albahari, 2012)
  • Números menores a 10^-4 o mayor a la precisión del tipo de dato se expresan en notación exponencial científica.
  • Los dos dígitos de precisión de un valor de tipo float y double se redondean para evitar problemas de pérdida de exactitud en la conversión.

4.2 Formatos personalizados

La Tabla 2 describe las cadenas de caracteres -objetos string- para formatos personalizados.
Cadenas de caracteres personalizadas
Tabla 2. Cadenas de caracteres personalizadas.

Código de ejemplo: 

Archivo C# CadenasCaracteresPersonalizadasNumeros.cs [Enlace alternativo][Enlace alternativo]:

> Prueba de ejecución (online): http://ideone.com/L9Ho1q

5. Conclusiones

Se estudiaron las cadenas de caracteres de formato para valores numéricos: las versiones estándar y personalizadas.

En el siguiente artículo C# el programador comprenderá cómo usar la enumeración NumberStyles.

6. Literatura & Enlaces

Albahari, J., Albahari, B. (2012). C# 5.0 in a Nutshell. United States: O'Reilly Media.

O

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.