Cadenas de formato numérico

Cadenas de formato numérico

Las cadenas de formato se utilizan como plantillas para convertir una cadena en un número y un número en una cadena. Los siguientes elementos pueden combinarse en la cadena de formato fmt y utilizarse para generar una cadena a partir de un número NumberToString o un número a partir de una cadena StringToNumber.

Elemento Valor
9 Cada 9 representa un dígito significativo a mostrar. Los ceros que aparecen adelante se muestran o tratan como espacios en blanco. Es necesario especificar una cantidad suficiente de dígitos significativos que se ajuste a los datos. Por ejemplo, si los datos pueden tener hasta cinco dígitos, la cadena de formato debe tener al menos cinco dígitos significativos.
0 Cada 0 representa un dígito significativo. Los ceros que aparecen adelante se muestran o tratan como ceros.
$ Prefijo: coloca un símbolo $ (signo de moneda en dólares) antes del número. Consulte el elemento L para conocer otros caracteres de moneda.
, (coma) Representa una coma en la cadena numérica. La coma siempre se interpreta como separador de grupo. Consulte el elemento G para conocer otros caracteres de separación de grupos.
. (punto) Representa el punto decimal en inglés en la cadena numérica. Consulte el elemento D para conocer otros caracteres de separación decimal.
MI Sufijo: coloca un signo "menos" después del número si es negativo o un espacio si es positivo.
S Prefijo o sufijo: coloca un signo más (+) adelante de un número positivo y un signo menos (-) adelante de un número negativo.
D Especifica la ubicación del punto decimal en inglés. Todos los elementos de formato que aparecen a la izquierda de D asignan el formato del componente entero del valor. Todos los elementos de formato que aparecen a la derecha de D asignan el formato del componente fraccional del valor. El carácter utilizado para representar el carácter decimal se determina de acuerdo con la plataforma. Para MapInfo.NET, este valor se determina mediante la configuración de cultura del subproceso actual. Para Spatialware o Envinsa, esto se determina por la base de datos (muy probablemente un parámetro de inicialización).
G Especifica la ubicación del separador de grupo (por ejemplo, en el idioma inglés, la coma para separar los miles como en el número 6,234). Al igual que con el carácter decimal D, la determinación del carácter utilizado para representar el carácter de grupo depende de la plataforma.
L Especifica la ubicación del símbolo de moneda local (por ejemplo, $). Al igual que con el carácter decimal D, la determinación del carácter utilizado para representar el carácter de grupo depende de la plataforma.

E

E-

E+

Indica que el número está en notación científica. Las instancias de 9 o 0 después del elemento E se interpretan como los caracteres de formato de exponente. No pueden aparecer instancias de punto (coma) decimal o separación de grupos después del elemento E. El elemento E puede aparecer inmediatamente seguido de un signo más (+) o menos (-). Cuando se especifica explícitamente un signo más (+) o un signo menos (-) después del elemento E un exponente positivo incluirá específicamente el signo más (+), en tanto un exponente negativo mostrará el signo menos (-). Si no se especifica un signo después del elemento E y el exponente es negativo, el signo menos se mostrará en el primer lugar después del elemento E. Por lo tanto, la cantidad de elementos 9 o 0 que aparecen después del elemento E debe ser suficiente para admitir un signo menos si se espera que el exponente sea negativo (de lo contrario se producirá un desborde de flujo).

Ejemplos del uso de cadenas de formato numérico

Los siguientes ejemplos ilustran el uso de los elementos de formato numérico para dar formato a un número o analizar una cadena. Los resultados se muestran con comillas para señalar la presencia de espacios en blanco; las comillas en sí no son parte del resultado.


  NumberToString(123.4567, '999999.99')     : '   123.46'
  NumberToString(123.4567, '099999.99')     : '000123.46'
  NumberToString(1234567, '99,999,999')     : ' 1,234,567'
  NumberToString(1234567, '9,999,999,999')  : '    1,234,567'
  NumberToString(1234567, '0,999,999,999')  : '0,001,234,567'
  NumberToString(123.4567, '0.9999E99')     : '1.2346E 2'
  NumberToString(123.4567, '0.9999E09')     : '1.2346E02'
  NumberToString(123.4567, '0.9999E+09')    : '1.2346E+02'
  NumberToString(12.345, '9.99')            : '#.##'
  StringToNumber('123456', '99999')         : Error
  StringToNumber(' 123.456', '9999.999')    : 123.456
  StringToNumber(' 123.456-', '9999.999')   : Error
  StringToNumber(' 123.456-', '9999.999MI') : -123.456
  StringToNumber('1,234.56', '999,999.99')  : 1234.56
  StringToNumber('1,234.56', '999,999.9')   : 1234.5