AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de cadenas
  • Formato detallado de la cadena que se va a obtener
  • Limitaciones
  • Convertir un tamaño expresado en bytes
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Convierte un valor numérico (entero, real o monetario) en una cadena según el formato especificado.
PHP En esta versión, el valor numérico a convertir debe ser un entero o real.
Ejemplo
NumToString(123) // Returns "123"
NumToString(1.23) // Returns "1.23"
NumToString(12345.5, "+10.2f") // Returns " +12345.50"
NumToString(12345.5, "-+10.2f") // Returns "+12345.50 "
NumToString(12345.5, "+010.2f") // Returns "+012345.50"
NumToString(12345.5, "010.2f") // Returns "0012345.50"

NumToString(12345.5, "10.2fS")
// Returns " 12 345.50" (the thousand separator is " ")

NumToString(12345.5, "10,2fS")
// Returns " 12 345,50" (the decimal separator is ",")
Sintaxis
<Result> = NumToString(<Number> [, <Format>])
<Result>: Cadena de caracteres
Cadena que representa el número según el formato especificado.
Si el parámetro <Número> es una cadena, la cadena devuelta es la misma que la cadena inicial. El formato se ignora.
PHP Si el parámetro <Número> es una cadena, esta se convierte como si fuera un número.
<Number>: Entero o real
Valor numérico a convertir en una cadena (según el formato especificado).
<Format>: Cadena de caracteres opcional o constante
  • Formato de la cadena expresado de la siguiente manera:
    "[<Align>][<Sign>][<Zero>][<Length>][<.Precision>]<Type>[<Thousand>]"

    PHP La cadena se expresa en el siguiente formato:
    "[<Zero>][<Align>][<Length>][<.Precision>]<Type>"

    Para obtener más información, consulte las observaciones.
  • WINDEVWEBDEV - Código ServidoriPhone/iPadIOS WidgetApple WatchMac Catalyst Constante que permite definir un formato del sistema:
    maskSystemCurrencyMáscara de moneda utilizada por el sistema.
    maskSystemNumeralMáscara numérica utilizada por el sistema.
Observaciones

Formato detallado de la cadena que se va a obtener

Para convertir un valor numérico en una cadena, es necesario especificar el formato de la cadena que se obtendrá. El formato es el siguiente:
"[<Align>][<Sign>][<Zero>][<Length>][<.Precision>]<Type>[<Thousand>]"
PHP El formato es el siguiente:
"[<Zero>][<Align>][<Length>][<.Precision>]<Type>"
Los valores posibles son:
<Alineación>Si se especifica este parámetro, alinea el número a la izquierda (<Alineación> = "-").
De forma predeterminada, el número está alineado a la derecha.
<Signo>Si se especifica este parámetro, muestra el signo para los números positivos (<Signo> = "+"). El signo aparecerá a la izquierda del primer dígito significativo.
De forma predeterminada, los números negativos tienen el signo "-" a la izquierda del primer dígito significativo.
Caso especial: si se especifica este parámetro y el número es igual a 0, se mostrará el signo "+". Este signo también se mostrará si un número negativo se convierte en 0.
<Cero>Si se especifica este parámetro (<Cero> ="0"), se insertarán ceros a la izquierda del primer dígito significativo si la parte significativa del número es menor que la longitud especificada y el número está alineado a la derecha.
De forma predeterminada, no se insertan ceros "0" a la izquierda del número.
Por ejemplo: NumToString(123, "05d") devolverá "00123".
<Longitud>Define la longitud total de la cadena resultante. La longitud total corresponde a los siguientes elementos: signo, separador de miles, punto decimal, exponente, parte entera y parte decimal del número. La longitud debe ser inferior a 100.
Si la longitud especificada es demasiado pequeña para contener la parte significativa del número, se ignorará.
De forma predeterminada, el número tiene la misma longitud que la parte significativa (no se insertan ceros). Lo mismo se aplica si <Longitud> = 0.
Si la longitud especificada es mayor que la parte significativa del número:
  • se insertarán espacios a la derecha de la cadena resultante si el número está alineado a la izquierda,
  • se insertarán espacios o ceros a la izquierda de la cadena resultante si el número está alineado a la derecha.
PHP Define la longitud total de la cadena resultante o de la parte entera si el número se rellena con ceros. La longitud total corresponde a los siguientes elementos: signo, separador de miles, punto decimal, exponente, parte entera y parte decimal del número.
Si la longitud especificada es demasiado pequeña para contener la parte significativa del número, se ignorará.
De forma predeterminada, el número tiene la misma longitud que la parte significativa (no se insertan ceros). Lo mismo se aplica si <Longitud> = 0.
Si la longitud especificada es mayor que la parte significativa del número:
  • se insertarán espacios a la derecha de la cadena resultante si el número está alineado a la izquierda,
  • se insertarán espacios o ceros a la izquierda de la cadena resultante si el número está alineado a la derecha.
<.Precisión>Define el separador decimal (caracteres "." o ",") y el número de posiciones decimales (solo para los <Tipos> flotante ("f") y exponente ("e")).
Separador decimal:
  • Si el separador decimal es una coma, se utilizará el separador decimal que se definió:
    • en los parámetros lingüísticos de Windows.
    • WEBDEV - Código Servidor en la configuración Windows del servidor.
    • iPhone/iPadIOS WidgetApple WatchMac Catalyst para el usuario actual.
  • Si el separador decimal es un punto, el separador decimal utilizado será un punto.
Observaciones:
  • La función ChangeSeparator no tiene ningún efecto sobre este separador. Esta función solo afecta la máscara de visualización de los valores numéricos en los controles.
  • WEBDEV - Código Navegador La sintaxis <,Precisión> no se puede utilizar: se debe utilizar <.Precisión>.
Número de decimales:
  • El número de decimales debe ser inferior a 100.
  • Si el número de decimales en el número es mayor que <Precisión>, la parte decimal se redondea al número especificado de decimales.
  • Si el número de decimales en el número es menor que <Precisión>, la parte decimal se completa con ceros "0" a la derecha.
  • El valor de <Precisión> puede ser mayor que <Longitud>. En este caso, el argumento <Longitud> se ignora.
PHP Define el número de decimales (solo para los <Tipos> flotante ("f") y exponente ("e").
  • Si el número de decimales en el número es mayor que <Precisión>, la parte decimal se redondea al número especificado de decimales.
  • Si el número de decimales en el número es menor que <Precisión>, la parte decimal se completa con ceros "0" a la derecha.
  • El valor de <Precisión> puede ser mayor que <Longitud>. En este caso, <Longitud> se ignora si el número se rellena con espacios.
<Tipo>Tipo de resultado, parámetro obligatorio:
  • d: Entero:
    Los números reales se redondean al número entero más cercano.
  • e: Notación exponencial:
    Si no se especifica el argumento <Precisión>, la precisión predeterminada es 6.
  • f: Notación decimal:
    Si no se especifica el argumento <Precisión>, la precisión predeterminada es 6.
  • x y X: Notación hexadecimal (X para letras mayúsculas):
    Solo se tiene en cuenta la parte entera del número (no se redondea).
    Caso particular:
    1. Si no se especifica la longitud y el número es negativo: 20 caracteres hexadecimales para un valor monetario, 8 caracteres para los demás tipos numéricos.
    2. Si el número es negativo: la longitud de la cadena resultante será al menos la longitud que permita especificar el bit de signo.
    Por ejemplo: -32767 en el formato "3X" devolverá "8001"
  • o: Notación octal:
    Solo se tiene en cuenta la parte entera del número (no se redondea).
    Caso particular:
    1. Si no se especifica la longitud y el número es negativo: 27 caracteres hexadecimales para un valor monetario, 11 caracteres para los demás tipos numéricos.
    2. Si el número es negativo: la longitud de la cadena resultante será al menos la longitud que permita especificar el bit de signo.
    Por ejemplo: -32767 en un formato "3o" devolverá "700001"
<Miles>Separador de miles (<Miles> = "S" o "s"). Los dígitos de la parte entera del número se agrupan por 3 y se separan con el separador de miles definido en Windows. Si hay un signo, este siempre se mostrará a la izquierda del primer dígito significativo. No debe haber separadores de miles entre el signo y el primer dígito.
WEBDEV - Código Navegador El separador de miles siempre es un espacio (' ').
WINDEVWEBDEV - Código ServidorWEBDEV - Código NavegadorReportes y ConsultasiPhone/iPadIOS WidgetApple WatchMac CatalystCódigo de Usuario (UMC)Ajax

Limitaciones

  • El formato "f" devuelve un resultado válido para números entre -1e+17 y 1e+17.
  • Formatos "x", "d" u "o": la parte entera no debe exceder 99 999 999 999 999 999.
  • WEBDEV - Código Servidor ¿Cómo utilizar una coma para el separador de decimales?
    Si la configuración de Windows en el servidor no utiliza una coma como separador de decimales, es posible:
    • utilizar un control Campo de entrada numérico (oculto si es necesario). El valor mostrado se puede obtener con la propiedad DisplayedValue.
    • utilizar un control de visualización con formato.

Convertir un tamaño expresado en bytes

Para convertir un tamaño expresado en bytes, utilice la función LengthToString.
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd300std.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Como mostrar pontos e virgula
cyTotal_aberto is currency=10600385.15
STC_TOTAL+=" Aberto:"+NumToString(cyTotal_aberto,"10,2fS") // "10,2f"
//RESULTADO SERA: 10.600.385,15
amarildo
16 03 2020

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local