4D v16.3

String

Inicio

 
4D v16.3
String

String 


 

String ( expresion {; formato {; horaComb}} ) -> Resultado 
Parámetro Tipo   Descripción
expresion  Expresión in Expresión a convertir en cadena (puede ser de tipo Real, Entero, Entero largo, Fecha, Hora, Alfa, Texto o Booleana)
formato  Cadena, Entero largo in Formato de visualización
horaComb  Hora in Hora a combinar si expresión es una fecha
Resultado  Cadena in Expresión convertida en cadena alfanumérica

El comando String devuelve en forma de cadena alfanumérica la expresión de tipo numérico, Fecha, Hora, cadena o Booleana que se pasa en expresion.

Si no pasa el parámetro opcional formato, la cadena se devuelve en el formato por defecto del tipo de datos correspondiente. Si pasa formato, puede definir el formato de la cadena resultante.

El parámetro opcional horaComb añade un tiempo a una fecha en un formato combinado. Sólo puede utilizarse cuando el parámetro expresion es una fecha (ver a continuación).

Expresiones numéricas

Si expresion es una expresión numérica (Real, Entero, Entero largo), puede pasar el formato de la cadena opcional. Estos son algunos ejemplos:

EjemploResultadoComentarios
String(2^15)"32768"Formato por defecto
String(2^15;"###,##0 habitantes")"32,768 habitantes"
String(1/3;"##0.00000")"0.33333"
String(1/3)"0.3333333333333330000"Formato por defecto(*)
String(Arctan(1)*4)"3.141592653589790000"Formato por defecto(*)
String(Arctan(1)*4;"##0.00")"3.14"
String(-1;"&x")"0xFFFFFFFF"
String(-1;"&$")"$FFFFFFFF"
String(0 ?+ 7;"&x")"0x0080"
String(0 ?+ 7;"&$")"$80"
String(0 ?+ 14;"&x")"0x4000"
String(0 ?+ 14;"&$")"$4000"
String(50,3;"&xml")"50.3"Siempre "." como un separador decimal
String(Num(1=1);"True;;False")"True"
String(Num(1=1);"True;;False")"True"
String(Num(1=2);"True;;False")"False"
String(Log(-1))""Número indefinido
String(1/0)"INF"Número infinito positivo
String(-1/0)"-INF"Número infinito positivo

(*) A partir de 4D v14 R3, el algoritmo de conversión de reales a texto está basado en 13 dígitos significativos (contrarío a los 15 dígitos en versiones anteriores de 4D).

El formato se especifica de la misma forma que para un campo numérico en un formulario. Para mayor información sobre formatos numéricos, consulte la sección Formatos de salida del manual de Diseño de 4D. Igualmente puede pasar el nombre de un estilo personalizado en formato. El nombre del estilo personalizado debe estar precedido por el carácter “|”.

Nota: la función String no es compatible con campos de tipo "Entero 64 bits" en modo compilado.

Expresiones de tipo Fecha

Si expresion es de tipo Fecha, la cadena se devuelve en el formato por defecto definido en el sistema.
En el parámetro formato, puede pasar una de las constantes descritas a continuación (tema Formatos de salida de fechas):

En este caso, también puede pasar una hora en el parámetro horaComb. Este parámetro le permite combinar una fecha y una hora con el fin de generar marcadores de tiempo conforme a las normas vigentes (constantes ISO Date GMT y Date RFC 1123). Estos formatos son particularmente útiles en el contexto de los procesos XML y Web. El parámetro horaComb sólo se utiliza cuando el parámetro expresion es una fecha. 

Constante Tipo Valor Comentario
Blank if null date Entero largo 100 "" en lugar de 0 en caso de valor nulo.  Esta constante debe adicionarse al formato de visualización.
Date RFC 1123 Entero largo 10 Fri, 10 Sep 2010 13:07:20 GMT
Internal date abbreviated Entero largo 6 29 dic, 2006
Internal date long Entero largo 5 29 diciembre 2006
Internal date short Entero largo 7
Internal date short special Entero largo 4 12/29/06 (pero 12/29/1896 o 12/29/2096)
ISO Date Entero largo 8 2006-12-29T00:00:00 (obsoleto)
ISO Date GMT Entero largo 9 2010-09-13T16:11:53Z
System date abbreviated Entero largo 2 dom. 29 de 2006
System date long Entero largo 3 domingo 29 diciembre 2006
System date short Entero largo 1

Nota: los formatos pueden variar dependiendo de la configuración del sistema.

Estos son algunos ejemplos de formatos simples (asumiendo que la fecha actual es 29/12/2009):

 $vsResult:=String(Current date` $vsResult toma el valor "29/12/09"
 $vsResult:=String(Current date;Internal date long` $vsResult toma el valor "29 de diciembre de 2009"
 $vsResult:=String(Current date;ISO Date` $vsResult toma el valor "2009-12-29T00:00:00"

Notas para los formatos combinados fecha/hora:

  • El formato ISO Date corresponde a la norma ISO8601. Este formato contiene una fecha y una hora. Por ejemplo, la fecha del 31 de mayo de 2006 a la 1:20 p.m. se escribe 2006-05-31T13:20:00. Si no pasa el parámetro horaComb, la parte hora se llena con 0 (ver ejemplo). Este formato expresa la fecha y hora local.
     $mifecha:=String(Current date;ISO Date// devuelve por ejemplo 2010-09-13T00:00:00
     $mifecha:=String(Current date;ISO Date;Current time// devuelve 2010-09-13T18:11:53
  • El formato ISO Date GMT es similar al formato ISO Date, excepto que expresa la fecha y la hora con respecto a la zona del huso horario (hora GMT).
     $mydate:=String(Current date;ISO Date GMT;Current time// returns 2010-09-13T16:11:53Z

    Note que el caracter "Z" al final indica el formato GMT.
    Si solo pasa una fecha, el comando devuelve la fecha a la media noche (hora local) expresada en hora GMT lo cual puede causar que la fecha se mueva hacia adelante o hacia atrás dependiendo de la zona horaria local:
     $mifecha:=String(Current date;ISO Date GMT// devuelve 2010-09-12T22:00:00Z
  • El formato Date RFC 1123 permite formatear un conjunto fecha/hora siguiendo la norma definida por los RFC 822 y 1123. Este formato es necesario por ejemplo para fijar la fecha de vencimiento de las cookies en un encabezado HTTP.
     $mifecha:=String(Current date;Date RFC 1123;Current time//devuelve, por ejemplo Fri, 10 Sep 2010 13:07:20 GMT

    La hora expresada tiene en cuenta la hora del huso horario (zona GMT). Si pasa una fecha, el comando devuelve la fecha a la media noche (hora loca) expresada en hora GMT lo que puede hacer que la fecha se mueva hacia adelante o hacia atrás dependiendo de la zona horaria local:
     $mifecha:=String(Current date;Date RFC 1123// devuelve Thu, 09 Sep 2010 22:00:00 GMT
Expresiones de tipo Hora

Si expresion es de tipo Hora, la cadena se devuelve utilizando el formato por defecto HH:MM:SS. Puede pasar en el parámetro formato una de las siguientes constantes del tema "Time Display Formats"):

Constante Tipo Valor Comentario
Blank if null time Entero largo 100 "" en lugar de 0
HH MM Entero largo 2
HH MM AM PM Entero largo 5
HH MM SS Entero largo 1
Hour min Entero largo 4 1 hora 2 minutos
Hour min sec Entero largo 3 1 hora 2 minutos 3 segundos
ISO time Entero largo 8
Min sec Entero largo 7 62 minutos 3 segundos
MM SS Entero largo 6
System time long Entero largo 11 1:02:03 AM HNEC (Mac únicamente)
System time long abbreviated Entero largo 10 1•02•03 AM (Mac únicamente)
System time short Entero largo 9

Notas:

  • El formato ISO Date Time corresponde a la norma ISO8601. Este formato contiene una fecha y una hora. Por ejemplo, la fecha del 31 de mayo de 2006 a la 1:20 p.m. se escribe 2006-05-31T13:20:00. Esto se utiliza para los procesos XML y con servicios Web. 4D no permite almacenar una fecha y hora en un solo campo. Sin embargo, es posible administrar las fechas en este formato utilizando el comando String.
  • La constante Blank if null debe añadirse al formato; indica que en caso de un valor nulo 4D debe devolver una cadena vacía en lugar de ceros.
Estos ejemplos asumen que la hora actual 5:30 PM y 45 segundos:
 $vsResult:=String(Current time` $vsResult toma el valor "17:30:45"
 $vsResult:=String(Current time;Hour Min Sec` $vsResult toma el valor "17 horas 30 minutos 45 segundos"

Expresiones de tipo cadena

Si expresion es de tipo Alfa o Texto, el comando devuelve el mismo valor que se pasa en el parámetro. Esto puede ser útil particularmente en programación genérica utilizando punteros.
En este caso, si se pasa el parámetro formato se ignora.

Expresiones de tipo Booleano

Si expresion es de tipo Booleano, el comando devuelve la cadena “True” o “False” en el lenguaje de la aplicación (por ejemplo, “Vrai” o “Faux” en una versión francesa de 4D).

En este caso si se pasa el parámetro formato, se ignora.



Ver también 

Date
Num
Time string

 
PROPIEDADES 

Producto: 4D
Tema: Cadenas de caracteres
Número 10

This command can be run in preemptive processes

 
HISTORIA 

Modificado: 4D v11 SQL
Modificado: 4D v12.1
Modificado: 4D v14 R3

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)