Création d'une mesureEn créant un objet de mesure, les méthodes Zend_Measure_* prévoient que l'entrée ou la mesure
originale soit le premier paramètre. Ceci peut être un argument
numérique, une chaîne sans unités, ou
une chaîne régionale avec une (des) unité(s)
spécifiée(s). Le deuxième paramètre définit le type de la mesure. Les deux paramètres sont obligatoires. La langue
peut être indiquée comme troisième paramètre optionnel.Créer des mesures à partir de nombres entiers et décimauxEn plus des valeurs de données en nombre entier, des nombre décimaux peuvent être employés, mais "il est fréquent que de simples fractions décimales telles que 0.1 ou 0.7 ne
puissent être converties au format interne binaire sans une légère perte de précision" parfois en
donnant des résultats étonnants. En outre, il ne faut pas comparer l'égalité de deux nombres décimaux.Création de mesure en utilisant des nombres entiers et décimauxCréer des mesures à partir de chaînes de caractèresBeaucoup de mesures reçues comme entrée des applications Zend Framework peuvent seulement être passées aux classes
Zend_Measure_* comme des chaînes, telles que des nombres écrits en utilisant les chiffres romains ou les valeurs binaires
extrêmement grandes qui excèdent la précision native de PHP des nombres entiers ou décimaux. Puisque les nombres
entiers peuvent être indiqués en utilisant des chaînes, s'il y a un quelconque risque de perdre la précision à
cause des limitations des types natifs (nombre entier et décimaux), il faut utiliser des chaînes à la place.
Zend_Measure_Number emploie l'extension BCMath pour supporter la précision arbitraire, afin
d'éviter les limitations dans beaucoup de fonctions de PHP, telle que bin2dec().Création de mesure en utilisant des chaînesHabituellement, Zend_Measure_* peut automatiquement extraire la mesure désirée incluse dans
une chaîne arbitraire. Seulement le premier nombre identifiable, indiqué en utilisant les chiffres
européens/latins standard (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), sera employé pour la création de la mesure. S'il y a
des chiffres plus loin dans la chaîne, ceux-ci seront ignorés.Saisie de texte arbitraire contenant des mesuresMesures à partir de chaînes localiséesQuand une corde est présentée dans une notation régionalisée, l'interprétation correcte ne peut pas être
déterminée sans connaître la région attendue. La division des chiffres décimaux avec "." et grouper des milliers
avec "," est commun en l'anglais, mais pas dans d'autres langues. Par exemple, le nombre anglais "1,234.50"
serait interprété comme "1.2345" en allemand. Pour traiter de tels problèmes, la famille des classes
Zend_Measure_* offrent la possibilité d'indiquer une langue ou une région pour lever l'ambiguïté
les données d'entrée et pour interpréter correctement la valeur sémantique prévue.Chaînes localiséesDepuis la version 1.7.0 de Zend Framework, Zend_Measure supporte aussi l'utilisation d'une
application pleinement localisée. Vous pouvez simplement paramétrer une instance Zend_Locale dans
le registre comme présenté ci-dessous. Avec cette notation vous pouvez ne pas paramétrer cette valeur
manuellement à chaque fois quand vous utilisez la même localisation plusieurs fois.