Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
String
|
String ( expresion {; formato {; horaComb}} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
expresion | Expresión |
![]() |
Expresión a convertir en cadena (puede ser de tipo Real, Entero, Entero largo, Fecha, Hora, Alfa, Texto o Booleana) | |||||
formato | Cadena, Entero largo |
![]() |
Formato de visualización | |||||
horaComb | Hora |
![]() |
Hora a combinar si expresión es una fecha | |||||
Resultado | Cadena |
![]() |
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:
Ejemplo | Resultado | Comentarios |
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 | A añadir a la constante de formato. Indica que en caso de valor null, 4D debe devolver una cadena vacía en lugar de ceros. |
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 |
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 2/29/2006):
$vsResult:=String(Current date) //$vsResult toma el valor "12/29/06"
$vsResult:=String(Current date;Internal date long) // $vsResult toma el valor "December 29, 2006"
$vsResult:=String(Current date;ISO Date GMT) // $vsResult toma el valor "2009-03-04T23:00:00"
Notas para los formatos combinados fecha/hora:
$mydate:=String(Current date;ISO Date GMT;Current time) // devuelve por ejemplo, 2010-09-13T16:11:53Z en Francia
$mydate:=String(!13/09/2010!;ISO Date GMT) // devuelve 2010-09-12T22:00:00Z en Francia
$mydate:=String(!13/09/2010!;ISO Date) // devuelve 2010-09-13T00:00:00 sin importar la zona horaria
$mydate:=String(Current date;ISO Date;Current time) // devuelve 2010-09-13T18:11:53
$mydate:=String(Current date;Date RFC 1123;Current time) // devuelve, por ejemplo Fri, 10 Sep 2010 13:07:20 GMT
$mydate:=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 Formatos de salida de hora):
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 | 0000-00-00T01:02:03. Corresponde a la norma ISO8601 y contiene, en teoría, una fecha y una hora. Como este formato no soporta fechas/horas combinadas, la parte de la fecha se rellena con 0s. Este formato expresa la hora local. |
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:
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.
Expresiones indefinidas
Si expresion se evalúa como indefinida, el comando devuelve una cadena vacía. Esto es útil cuando se espera que el resultado de una expresión (por ejemplo, un atributo objeto) sea una cadena, incluso si puede ser indefinido.
Expresiones Null
Si expresion se evalúa como Null, el comando devuelve la cadena "null". Esto es útil cuando se espera que el resultado de una expresión (por ejemplo, un atributo objeto) sea una cadena, incluso si puede ser null.
Producto: 4D
Tema: Cadenas de caracteres
Número
10
Modificado: 4D v11 SQL
Modificado: 4D v12.1
Modificado: 4D v14 R3
Modificado: 4D v16 R5
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)