Función Text

Se aplica a: Aplicaciones de lienzo Aplicaciones de lienzo Columnas de fórmula de Dataverse Aplicaciones basadas en modelos Power Platform CLI

Convierte cualquier valor y da formato de cadena de texto a un número o valor de fecha y hora.

Descripción

La función Text da formato a un número o a un valor de fecha y hora según uno de estos tipos de argumentos:

  • Un formato predefinido de fecha y hora que especifica a través de la enumeración DateTimeFormat. En el caso de fechas y horas, se prefiere este enfoque porque se ajusta automáticamente al idioma y la región de cada usuario.
  • Un formato personalizado, que comprende una cadena de marcadores de posición que definen, por ejemplo, si los números muestran un separador decimal y las fechas muestran el nombre completo del mes, el mes en abreviatura o el mes en número. Power Apps admite un subconjunto de marcadores de posición que admita Microsoft Excel. En esta cadena, el marcador de posición de idioma especifica el idioma en el que se interpretan los otros marcadores de posición. Si el formato personalizado incluye un punto, por ejemplo, el marcador de posición de formato de idioma especifica si el punto es un separador decimal (ja-JP) o un separador de miles (es-ES).

Consulte cómo trabajar con fechas y horas para más información.

La función Text también puede convertir cualquier tipo de datos en una representación de texto utilizando un formato predeterminado. Use esto para pasar valores que no sean de texto a funciones basadas en texto, como Len, Right e IsMatch.

Formatos predefinidos de fecha y hora

Para estos ejemplos, la fecha y la hora utilizadas son el martes 7 de abril de 2020, 8:26:59.180 PM, en la zona horaria UTC-7.

Enumeración DateTimeFormat Descripción Ejemplos (usando en-US)
LongDate Año de cuatro dígitos, nombre del mes, día del mes y día de la semana. Los nombres del mes y del día de la semana no se abrevian. "Martes 7 de abril de 2020"
LongDateTime Año de cuatro dígitos, nombre del mes, día del mes y día de la semana, además de la hora (reloj de 12 horas), minutos, segundos y designación a.m y p.m. Los nombres del mes y del día de la semana no se abrevian. "Martes 7 de abril de 2020 8:26:59 PM"
LongDateTime24 Año de cuatro dígitos, nombre del mes, día del mes y día de la semana, además de la hora (reloj de 24 horas), minutos y segundos. Los nombres del mes y del día de la semana no se abrevian. "Martes 7 de abril de 2020, 20:26:59"
LongTime Hora (formato 12 horas), minutos, segundos y designación a.m. y p.m. "8:26:59 PM"
LongTime24 Hora (formato 24 horas), minutos y segundos. "20:26:59"
ShortDate Año de cuatro dígitos con mes en número y día del mes. "4/7/2020"
ShortDateTime Año de cuatro dígitos con mes en número y día de la semana, además de la hora (reloj de 12 horas), minutos, segundos y designación a.m. y p.m. "4/7/2020, 8:26 PM"
ShortDateTime24 Año de cuatro dígitos con mes en número y día de la semana, además de la hora (reloj de 24 horas) y minutos. "4/7/2020, 20:26"
ShortTime Hora (formato 12 horas), minutos y designación a.m. y p.m. "8:26 PM"
ShortTime24 Hora (formato 24 horas) y minutos. "20:26"
UTC El valor de fecha y hora se convierte en UTC según la zona horaria del usuario actual y usa un formato basado en el estándar ISO 8601. "2020-04-08T03:26:59.180Z"

Marcadores de posición de número

Marcador de posición Descripción
0 (cero) Muestra ceros no significativos si un número tiene menos dígitos que ceros en el formato. Por ejemplo, use el formato #.00 si desea mostrar 8.9 como 8.90.
# Sigue las mismas reglas que 0 (cero). Sin embargo, Text no muestra ceros adicionales cuando el número tiene menos dígitos en cualquier lado del decimal que símbolos # en el formato. Por ejemplo, se muestra 8.9 si el formato personalizado es #.## y el número al que debe darse formato es 8.9.
, (punto) Muestra el punto decimal de un número. Depende del idioma del formato personalizado; consulte las aplicaciones globales para más detalles.
, (coma) Muestra el separador de agrupación de un número; a menudo, se usa para los miles. Text separa los grupos con comas si el formato contiene una coma encerrada entre signos numéricos (#) o ceros. Depende del idioma del formato personalizado; consulte las aplicaciones globales para más detalles.

Si un número tiene más dígitos a la derecha del separador decimal que marcadores de posición en el formato, el número se redondea a tantas cifras decimales como marcadores de posición existen. Si hay más dígitos a la izquierda del separador decimal que marcadores de posición, se muestran los dígitos adicionales. Si el formato solo consta de signos numéricos (#) a la izquierda del separador decimal, los números menores que 1 comienzan con un separador decimal (por ejemplo 0.47).

Marcadores de posición de fecha y hora

Marcador de posición Descripción
m Muestra el mes como número sin cero inicial.
mm Muestra el mes como número con cero inicial cuando corresponda.
mmm Muestra el mes abreviado (Ene a Dic).
mmmm Muestra el nombre completo del mes (Enero a Diciembre).
d Muestra el día como número sin cero inicial.
dd Muestra el día como número con cero inicial cuando corresponda.
ddd Muestra el día abreviado (Dom a Sáb).
dddd Muestra el nombre completo del día (Domingo a Sábado).
aa Muestra el año como número de dos dígitos.
aaaa Muestra el año como número de cuatro dígitos.
h Muestra la hora como número sin cero inicial.
hh Muestra la hora como número con cero inicial cuando corresponda. Si el formato contiene AM o PM, la hora se muestra según el formato de 12 horas. De lo contrario, la hora se muestra según el reloj de 24 horas.
m Muestra el minuto como número sin cero inicial.

Este marcador de posición debe aparecer inmediatamente después del código h o hh o inmediatamente antes del código ss; de lo contrario, Text muestra el mes en lugar de los minutos.
mm Muestra el minuto como número con cero inicial cuando corresponda.

Este marcador de posición debe aparecer inmediatamente después del marcador de posición h o hh o inmediatamente antes del marcador de posición ss. De lo contrario, Text muestra el mes en lugar de los minutos.
s Muestra el segundo como número sin cero inicial.
ss Muestra el segundo como número con cero inicial cuando corresponda.
f Muestra las fracciones de segundos.
AM/PM, a/p Muestra la hora según el formato de 12 horas. Text muestra "AM", "am", "A" o "a" para las horas que van entre la medianoche hasta el mediodía y "PM", "pm", "P" o "p" para las horas que van desde el mediodía hasta la medianoche.

Marcadores de posición literales

Puede incluir cualquiera de estos caracteres en su cadena de formato. Aparecerán en el resultado de Text tal cual. Los caracteres adicionales están reservados para marcadores de posición futuros, por lo que no debe usarlos.

Carácter Descripción
Cualquier símbolo de moneda Signo de dólar, signo de centavo, signo de euro, etc.
+ Signo más
( Paréntesis de apertura
: Dos puntos
^ Acento circunflejo (símbolo de intercalación)
' Apóstrofo
{ Llave de apertura
< Signo de menor que
= Signo igual
- Signo menos
/ Barra diagonal
) Paréntesis de cierre
& Y comercial
~ Tilde de la ñ
} Llave de cierre
> Signo de mayor que
  Carácter de espacio

Aplicaciones globales

La función Text es globalmente compatible. Para una amplia variedad de idiomas, sabe cómo escribir correctamente fechas, horas, monedas y números. Para ello, necesita dos tipos de información:

  • El idioma del formato personalizado: para los creadores, ¿cómo se debe interpretar un formato personalizado? Los caracteres de separación (. y ,) tienen significados distintos en diferentes idiomas. Si especifica un formato personalizado, puede incluir un marcador de posición de idioma o tomar el valor predeterminado, que refleja el idioma en el que está configurado su dispositivo. Aún más fácil, puede usar uno de los formatos de fecha y hora predefinidos, que son independientes del lenguaje.
  • El idioma del resultado: para los usuarios, ¿en qué idioma debe aparecer el resultado de la función? Los nombres de meses y días de la semana deben estar en el idioma apropiado para el usuario de la aplicación, que puede especificar agregando un tercer argumento opcional a la función Text.

Para ambos, especifique el idioma utilizando una etiqueta de idioma. Para ver la lista de idiomas compatibles, escriba Text( 1234, "", ) en la barra de fórmulas o en la pestaña Avanzado a la derecha del panel y desplácese por la lista de configuraciones regionales sugeridas para el tercer argumento.

Marcador de posición de idioma

Para especificar el idioma del formato personalizado, use:

Marcador de posición Descripción
[$-LanguageTag] LanguageTag es una etiqueta de idioma que devuelve la función Language. Puede especificar solo el del idioma (como [$-en] para inglés), o también puede especificar la región, (como [$-en-GB] para especificar, además, Gran Bretaña).

El marcador de posición de idioma puede aparecer en cualquier parte del formato personalizado, pero solo una vez.

Si especifica un formato personalizado sin un marcador de posición de idioma y el formato es ambiguo desde un punto de vista global, la etiqueta de idioma para su idioma actual se inserta automáticamente.

[$-en-US] es el valor que se presume si este marcador de posición no está presente cuando se ejecuta la aplicación.

Nota

En una versión futura, la sintaxis de este marcador de posición puede cambiar para evitar que se confunda con un marcador de posición similar, pero distinto, compatible con Excel.

Etiqueta de idioma del resultado

El resultado de la función Text incluye cadenas traducidas para meses, días de la semana y designaciones a.m. o p.m., además de separadores decimales y grupo adecuados.

De manera predeterminada, la función Text usa el idioma del usuario que ejecuta la aplicación. La función Language muestra la etiqueta de idioma correspondiente al usuario actual. Puede reemplazar este valor predeterminado si suministra una etiqueta de idioma para el tercer argumento de Text.

Sintaxis

Text( NumberOrDateTime, DateTimeFormatEnum [, ResultLanguageTag ] )

  • NumberOrDateTime (obligatorio). El número o el valor de fecha y hora al que se dará formato.
  • DateTimeFormat (obligatorio). Miembro de la enumeración DateTimeFormat.
  • ResultLanguageTag (opcional). La etiqueta de idioma que se usará para el texto de resultado. De manera predeterminada, se usa el idioma del usuario actual.

Text( NumberOrDateTime, CustomFormat [, ResultLanguageTag ] )

  • Number (obligatorio). El número o el valor de fecha y hora al que se dará formato.
  • CustomFormat (obligatorio). Uno o más marcadores de posición entre comillas dobles.
  • ResultLanguageTag (opcional). La etiqueta de idioma que se usará para el texto de resultado. De manera predeterminada, se usa el idioma del usuario actual.

Text( AnyValue )

  • AnyValue (obligatorio). Valor para convertir a una representación de texto. Se utiliza un formato predeterminado.

Text ( Untyped )

  • Untyped - requerido. Objeto Untyped que representa una cadena. Los valores aceptables dependen del proveedor sin tipo. Para JSON, si el objeto sin tipo es un número o un valor booleano, se convertirá en texto.

Ejemplos

Salvo que se especifique otra cosa, el usuario que ejecuta estas fórmulas se encuentra en Estados Unidos y seleccionó inglés como idioma. La función Language muestra "en-US".

Número

Fórmula Descripción Resultado
Text( 1234.59, "####.#" ) Da formato al número con un decimal. "1234.6"
Text( 8.9, "#.000" ) Rellena la parte decimal del número con ceros finales, si es necesario. "8.900"
Text( 0.631, "0.#" ) Rellena la parte entera del número con ceros iniciales, si es necesario. "0.6"
Text( 12, "#.0#" )
Text( 1234.568, "#.0#" )
Rellena la parte decimal del número con ceros para una cifra decimal e incluye una segunda cifra decimal, si se suministra. "12.0"
"1234.57"
Text( 12000, "$ #,###" )
Text( 1200000, "$ #,###" )
Coloca un separador de miles cada tres dígitos e incluye un símbolo de moneda. "$ 12,000"
"$ 1,200,000"

Fecha y hora

  • A las 2:37:47 PM del Monday, November 23, 2015
  • Zona horaria del Pacífico de Estados Unidos (UTC-8)
Fórmula Descripción Resultado
Text( Now(), DateTimeFormat.LongDate ) Da formato como una cadena de fecha larga, en el idioma y la configuración local del usuario actual. "Monday, November 23, 2015"
Text( Now(), DateTimeFormat.LongDateTime ) Da formato como una cadena de fecha y hora larga, en el idioma y la configuración local del usuario actual, en formato de 12 horas. "Monday, November 23, 2015 2:37:47 PM"
Text( Now(), DateTimeFormat.LongTime24 ) Da formato como una cadena de hora larga, con formato de 24 horas. "14:37:47"
Text( Now(), DateTimeFormat.ShortDate ) Da formato como una cadena de fecha corta, en el idioma y la configuración local del usuario actual. "11/23/2015"
Text( Now(), "d-mmm-yy" ) Da formato con caracteres de marcador de posición:
  • d para un día del mes de solo un dígito o de dos dígitos
  • - como carácter literal copiado en el resultado
  • mmm para una abreviatura de tres letras del mes
  • - como otro carácter literal copiado en el resultado
  • yy para una abreviatura de dos dígitos del año
"23-Nov-15"
Text(1448318857*1000, "mmm. dd, yyyy (hh:mm:ss AM/PM)") Muestra un valor de fecha y hora Unix en formato legible para humanos si multiplica el valor de origen por 1000. "Nov. 23, 2015 (02:47:37 PM)"

Aplicaciones globales

Fórmula Descripción Result
Text(1234567.89, "[$-fr-FR]# ###,## €", "fr-FR") Muestra un espacio como un separador de agrupación, la coma como un separador decimal y como el símbolo de la moneda. "1 234 567,89 €"
Text(1234567,89; "[$-fr-FR]# ###,## €") Si los datos de origen siguen la costumbre francesa de usar una coma como separador decimal, debe cambiar su configuración regional a francés y separar los argumentos con un punto y coma en lugar de con una coma para obtener el mismo resultado que el anterior. "1 234 567,89 €"
Text( Date(2016,1,31), "dddd mmmm d" ) Muestra el día de la semana, el mes y el día del mes en el idioma del usuario actual. Como ninguno de los marcadores de posición depende del idioma, no es necesario tener una etiqueta de idioma de texto de formato. "Domingo, 31 de enero"
Text( Date(2016,1,31), "dddd mmmm d", "es-ES" ) Muestra el día de la semana, el mes y el día del mes en el idioma "es-ES". "domingo enero 31"

Convertir valores a texto

Fórmula Descripción Resultado
Text( 1234567.89 ) Convierte un número en una cadena. No hay separadores de miles ni control sobre el número de dígitos antes o después del separador decimal; para un mayor control, proporcione marcadores de posición de número como segundo argumento. "1234567.89"
Text( DateTimeValue( "01/04/2003" ) ) Convierte un valor de fecha y hora en una cadena de texto. Para controlar la conversión, proporcione un miembro de la enumeración DateTimeFormat o una cadena de formato personalizado. "1/4/2003 12:00 AM"
Text( true ) Convierte un valor booleano en una cadena. "true"
Text( GUID() ) Convierte un valor de GUID generado en una cadena. "f8b10550-0f12-4f08-9aa3-bb10958bc3ff"
Left( Text( GUID() ), 4 ) Devuelve los primeros cuatro caracteres de un GUID generado. "2d9c"