PHP | Especificadores de formato

Las strings son uno de los tipos de datos más utilizados, independientemente del lenguaje de programación. Las strings pueden estar codificadas (especificadas directamente por el desarrollador) o formateadas (donde se especifica el esqueleto básico y la string final se obtiene incorporando valores de otras variables). Las strings formateadas se pueden definir como un conjunto de segmentos donde cada segmento puede contener un número entero, flotante o incluso otra string.

Las strings formateadas usan Especificadores de formato para crear la estructura básica de la string. Los especificadores de formato son secuencias de caracteres predefinidas que se pueden usar para definir el tipo de datos que se almacenará o mostrará, así como la forma en que se debe formatear cualquier valor dado, es decir, precisión, relleno, etc. Los especificadores de formato, en general, comienzan con un símbolo de percentil o ‘%’ seguido de una secuencia de caracteres que define el tipo de datos y el formato deseado. Al iterar sobre un formato, si se encuentra algún especificador de formato, el compilador/intérprete entiende que existe una directiva correspondiente cuyo valor debe formatearse y usarse.Por lo tanto, una string puede no contener ningún especificador de formato, pero si lo contiene, también se debe reenviar al menos el mismo número de directivas. En caso de directivas excesivas, algunos lenguajes simplemente ignoran lo no requerido y dejan que se ejecute con una advertencia.

La siguiente es una breve discusión de los formatos y tipos de datos que se pueden especificar en PHP. Cada uno de ellos se implementa con un símbolo de percentil precedente o ‘%’.

Valores de formato

  • El especificador de signo se puede usar para mostrar a la fuerza el signo (- o +) que se usará en un número. De forma predeterminada, solo se muestra el signo – en los números negativos. Usando este especificador, los números positivos se muestran con un + precedente. Esto se puede lograr usando un símbolo + y se puede implementar solo con valores numéricos. Ejemplo,
    %+d    // Specify the integer along with it's sign (+ or -).
    
  • El especificador de relleno se puede utilizar para especificar qué carácter se utilizará para rellenar los resultados en cualquier tamaño de string definido. De forma predeterminada, los espacios se utilizan como relleno. Se puede especificar un carácter de relleno alternativo prefijándolo con una comilla simple o ‘. Ejemplo,
    %'0d    // Pad with 0s to achieve the right length. 
    
  • El especificador de alineación se puede utilizar para especificar la alineación del resultado, es decir, si está justificado a la izquierda oa la derecha. Por defecto está justificado a la derecha. El uso de un carácter – hace que esté justificado a la izquierda. Ejemplo,
    %-s    // Specifies the alignment as left-justified.
    
  • El especificador de ancho se puede utilizar para especificar el número mínimo de caracteres que deben estar presentes en el resultado mismo. Se puede especificar usando cualquier número que indique el ancho mínimo. Se ve en uso con el especificador de relleno más. Ejemplo,
             // Specifies there should be at least 5 digits,
    %'05d    // if less, then 0s are filled to get the desired result.  
    
  • El especificador de precisión se puede utilizar para especificar la precisión mientras se trabaja con números reales. Un punto o ‘.’ seguido de una string de dígitos decimales opcional que hace referencia a los dígitos decimales que se mostrarán después del decimal.
    Cuando se usa este especificador en una string, especifica el límite máximo de caracteres en la string.
    Ejemplo,
    %.5f    // Defines Real Number Precision.
    %.2s    // Maximum Character to be allowed in a string.  
    

Tipos de datos

  • % : Para mostrar %. No se requiere directiva.
  • b : La directiva se refiere a un número entero y se muestra como un número binario.
  • c : La directiva se refiere a un número entero y se muestra como el carácter ASCII correspondiente.
  • d: la directiva se refiere a un número entero y se muestra como un número decimal.
  • e : La directiva se refiere a la notación científica (por ejemplo, 2.12e+3).
  • E : Alias ​​de ‘e’.
  • f: la directiva se refiere a un flotante y se muestra como un número real (consciente de la configuración regional).
  • F : La directiva se refiere a un flotante y se muestra como un número real (no consciente de la configuración regional).
  • o : La directiva se refiere a un número entero y se muestra como un número octal.
  • s: la directiva se trata y se muestra como una string.
  • u : la directiva se refiere a un número entero y se muestra como un número decimal sin signo.
  • x: la directiva se refiere a un número entero y se muestra como un número hexadecimal (con letras minúsculas).
  • X: la directiva se refiere a un número entero y se muestra como un número hexadecimal (con letras mayúsculas).

El siguiente código ilustra el funcionamiento de diferentes especificadores de formato:

<?php
  
// PHP program to illustrate Working 
// of different Format Specifiers
  
// Creating Dummy Variables 
$numValue = 5;
$strValue = "GeeksForGeeks";
  
// Using Sign Specifier.
printf("Signed Number: %+d\n",$numValue);
  
// Padding and Width Specifier.
printf("Padding and Width\n%'03d\n%'03d\n",
                    $numValue,$numValue+10);
  
// Precision Specifier.
printf("Precision: %.5f %.5s\n", $numValue, $strValue);
  
// Different DataTypes.
// Integer and Percentile.
printf("Percentage: %d%%\n",$numValue);
  
// Binary Octal and Hexadecimal Representation.
printf("Binary: %b Octal: %o Hexadecimal: %x\n",
        $numValue+10,$numValue+10,$numValue+10);
  
// Character Representation.
printf("Character: %c\n",$numValue+60);
  
// Strings.
printf("String: %s\n",$strValue);
  
// Real Numbers.
printf("RealNumber: %f\n",1/$numValue); 
  
// Scientific Numerical Representation.
printf("Scientific Representation:%e\n",$numValue+100); 
  
?>

Producción:

Signed Number: +5
Padding and Width
005
015
Precision: 5.00000 Geeks
Percentage: 5%
Binary: 1111 Octal: 17 Hexadecimal: f
Character: A
String: GeeksForGeeks
RealNumber: 0.200000
Scientific Representation:1.050000e+2

Publicación traducida automáticamente

Artículo escrito por PronabM y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *