Maßeinheiten
Beispiel
Dimension
\Alvine\Measure\SI::meter();
\Alvine\Measure\SI::candela();
\Alvine\Measure\SI::kilogram();
\Alvine\Measure\SI::kelvin();
$meter = new \Alvine\Measure\BaseUnit("m");
$candela = new \Alvine\Measure\BaseUnit('cd');
echo $meter->getDimension();
echo \Alvine\Types\Character::LINEFEED;
echo $candela->getDimension();
Fuß
// Fuß
$foot=\Alvine\Measure\NonSI::foot();
// Konverter Meilen nach Meter
$footToKilometer=$foot->getConverterTo(\Alvine\Measure\MetricPrefix::kilo(\Alvine\Measure\SI::meter()));
// Zu berechnende Fuß
$distanceInFoot=4356;
/**
* Auf zwei Stellen gerundet
*/
$distanceInKilometers=$footToKilometer->convert($distanceInFoot, 2);
// Ausgabe
echo $distanceInKilometers;
// -> 1.33 km
Miles
// Längeneinheit Meter
$meter=\Alvine\Measure\SI::meter();
// Meile als Teiler von Metern
$mile=\Alvine\Measure\NonSI::mile();
// Konverter Meilen nach Meter
$mileToKilometer=$mile->getConverterTo(\Alvine\Measure\MetricPrefix::kilo($meter));
// Zu berechnende Meilen
$distanceInMiles=23.0;
// Drei Stellen gerundet
$distanceInKilometers=$mileToKilometer->convert($distanceInMiles, 3);
// Ausgabe
echo $distanceInKilometers;
// -> 37.015
Menge
// Fuß
$foot=\Alvine\Measure\SI::METER()->times(3048)->divide(10000);
// Meßwert in Meter
$measure=new \Alvine\Measure\Measure('250.10', \Alvine\Measure\SI::METER());
// Label für den Formatter setzen
\Alvine\Measure\DefaultFormatter::getInstance()->label($foot, 'ft');
// Umrechnung in Fuß
$feet=$measure->to($foot, 2);
echo (string) $feet;
// -> 820.54 ft
Währung
// Währungsobjekte holen
$USD=\Alvine\Measure\Economics\Currencies::getCurrency('USD');
$EUR=\Alvine\Measure\Economics\Currencies::getCurrency('EUR');
// Währungssymbole holen und setzen
\Alvine\Measure\Formatter\UnitFormatter::getDefaultFormatter()->label($USD, \Alvine\I18n\Resource\CurrencySigns::getSign('USD'));
\Alvine\Measure\Formatter\UnitFormatter::getDefaultFormatter()->label($EUR, \Alvine\I18n\Resource\CurrencySigns::getSign('EUR'));
// Wechselkurs läuft immer über eine Referenzwährung
\Alvine\Measure\Economics\ReferenceCurrency::setCurrentReference($USD);
\Alvine\Measure\Economics\ReferenceCurrency::getCurrentReference()->setExchangeRate($EUR, 1.17);
// Angabe des Verbrauchs in Meilen pro Galone (20 mi/gal)
$carMileage=\Alvine\Measure\Amount::valueOf(20, \Alvine\Measure\NonSI::mile()->divide(\Alvine\Measure\NonSI::gallonLiquidUS()));
// Kosten des Benzins in Euro / Liter (1.2 €/L)
$gazPrice=\Alvine\Measure\Amount::valueOf(1.2, $EUR->divide(\Alvine\Measure\NonSI::liter()));
// Gefahrene Distanz in Kilometern (400 km)
$tripDistance=\Alvine\Measure\Amount::valueOf(400, \Alvine\Measure\MetricPrefix::kilo(\Alvine\Measure\SI::meter()));
// Kosten der Reise in Euro
$tripCostEUR=$tripDistance->divide($carMileage)->times($gazPrice)->to($EUR);
// Kosten in Dollar (Umrechung)
$tripCostUSD = $tripCostEUR->to($USD);
// Displays cost.
echo("Car Miles = $carMileage\n");
// -> Car Miles = 20 mi/gal
echo("Gas Prize = $gazPrice\n");
// -> Gas Prize = (1.20 ± 0.0) €/l
echo("Trip Distance = $tripDistance\n");
// -> Trip Distance = 400 (m)*1000
echo ("============================\n");
// -> ============================
echo("Trip cost = ".$tripCostEUR." (".$tripCostUSD.")\n");
// -> Trip cost = (56.45 ± 0.0) € ((66.05 ± 0.0) $)
// Ausgabe ohne Fehler
\Alvine\Measure\Formatter\AmountFormatter::getDefaultFormatter()->setFloatFormat('%amount$s %unit$s');
echo("Trip cost = ".$tripCostEUR." (".$tripCostUSD.")");