Bei der Erstellung einer Maßeinheit erwarten die Zend_Measure_* Methoden den
        Eingabe-/den Originalwert als ersten Parameter. Dieser kann ein
        nummerisches Argument
        
        , eine
        Zeichenkette
        
        ohne Einheit, oder eine
        lokalisierte Zeichenkette 
        mit definierter Einheit sein.
        Der zweite Parameter definiert die Art der Maßeinheit. Beide Parameter sind zwingend erforderlich. Die
        Sprache kann als optionaler dritter Parameter definiert werden.
    
Zusätzlich zu Integerwerten können Floatwerte benutzt werden, aber "einfache Dezimalbrüche wie 0.1 or 0.7 können nicht in Ihre binäre Entsprechung konvertiert werden ohne den Verlust von Genauigkeit," was zeitweise zu erstaunlichen Ergebnissen führt. Genauso sollten zwei Floatzahlen nicht auf Gleichheit geprüft werden.
Beispiel 21.3. Erstellung einer Maßeinheit durch Integer oder Floatwerte
<?php require_once 'Zend/Measure/Length.php'; $measurement = 1234.7; $unit = new Zend_Measure_Length((integer)$measurement, Zend_Measure_Length::STANDARD); echo $unit; // Ausgabe '1234 m' (Meter) $unit = new Zend_Measure_Length($measurement, Zend_Measure_Length::STANDARD); echo $unit; // Ausgabe '1234.7 m' (Meter) ?>
            Viele Maßeinheiten die als Eingabe einer ZF Anwendung empfangen werden können nur als
            Zeichenketten den Klassen von Zend_Measure_* übergeben werden, wie z.B. Zahlen die in 
            Römischer Schreibweise geschrieben
            werden, oder extrem lange Binärwerte die die Genauigkeit von PHP's natürlichen Integer und Floattypen
            übersteigen würden. Da Integer auch als Zeichenketten geschrieben werden können sollten, sobald
            die Gefahr eines Genauigkeitverlustes durch die Limits von PHP's Integer und Floatwerten besteht,
            stattdessen Zeichenketten verwendet werden. Zend_Measure_Number benutzt die
            BCMath Erweiterung um aussergewöhnliche Genauigkeit zu unterstützen, wie im gezeigen Beispiel,
            um die Beschränkungen von vielen PHP Funktionen wie 
            bin2dec() zu umgehen.
        
Beispiel 21.4. Erstellung einer Maßeinheit durch Strings
<?php require_once 'Zend/Measure/Number.php'; $mystring = "10010100111010111010100001011011101010001"; $unit = new Zend_Measure_Number($mystring, Zend_Measure_Number::BINARY); echo $unit; ?>
            Normalerweise kann Zend_Measure_* automatisch die gewünschte Maßeinheit aus einer
            gewöhnlichen Zeichenkette extrahieren. Nur die erste identifizierbare Zahl die Standard
            Europäisch/Lateinische Ziffern (0,1,2,3,4,5,6,7,8,9) benutzt wird für die Erstellung der Maßeinheit
            benutzt. Wenn weitere Zahlen in der Zeichenkette enthalten sind, werden diese Ignoriert.
        
Beispiel 21.5. Gewöhliche Texteingaben welche Maßeinheiten beinhalten
<?php require_once 'Zend/Measure/Area.php'; $mystring = "Mein Haus ist 125m² groß"; $unit = new Zend_Measure_Area($mystring, Zend_Measure_Area::STANDARD); echo $unit; // Ausgabe "125 m²"; $mystring = "Mein Haus ist 125m² groß, es hat 5 Räume mit jeweils 25m²."; $unit = new Zend_Measure_Area($mystring, Zend_Measure_Area::STANDARD); echo $unit; // Ausgabe "125 m²"; ?>
            Wenn eine Zeichenkette in lokalisierter Schreibweise eingegeben wurde, kann die richtige
            Interpretation nicht herausgefunden werden ohne das das gewünschte Gebietsschema bekannt ist.
            Die Teilung der Dezimalziffern mit "." und die Gruppierung der Tausender mit "," ist in der
            Englischen Sprache üblich, aber nur in anderen Sprachen. Um mit solchen Problemen umgehen zu können,
            besteht bei den lokalisierten Klassen der Zend_Measure_* Familie die Möglichkeit eine
            Sprache oder Region anzugeben, um einen Eingabewert eindeutig zu machen und die erwartete 
            semantische Eingabe richtig zu interpretieren.
        
Beispiel 21.6. Lokalisierte Zeichenketten
<?php
require_once 'Zend/Measure/Length.php';
$locale = new Zend_Locale('de');
$mystring = "Das Boot ist 1,234.50 lang.";
$unit = new Zend_Measure_Length($mystring, Zend_Measure_Length::STANDARD, $locale);
echo $unit; // Ausgabe "1.234 m"
$mystring = "Das Boot ist 1,234.50 lang.";
$unit = new Zend_Measure_Length($mystring, Zend_Measure_Length::STANDARD, 'en_US');
echo $unit; // Ausgabe "1234.50 m"
?>