convertUnit static method
Converts the given value
from the sourceUnit
to the targetUnit
.
Returns null if converting is not possible.
Implementation
static double convertUnit(
double value, LengthUnits sourceUnit, LengthUnits targetUnit) {
switch (sourceUnit) {
case LengthUnits.attometer:
switch (targetUnit) {
case LengthUnits.attometer:
return value;
case LengthUnits.femtometer:
return value / pow(10.0, 3);
case LengthUnits.picometer:
return value / pow(10.0, 6);
case LengthUnits.nanometer:
return value / pow(10.0, 9);
case LengthUnits.micrometers:
return value / pow(10.0, 12);
case LengthUnits.millimeter:
return value / pow(10.0, 15);
case LengthUnits.centimeter:
return value / pow(10.0, 16);
case LengthUnits.decimeter:
return value / pow(10.0, 17);
case LengthUnits.meter:
return value / pow(10.0, 18);
case LengthUnits.kilometer:
return value / pow(10.0, 21.0);
}
case LengthUnits.femtometer:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 3);
case LengthUnits.femtometer:
return value;
case LengthUnits.picometer:
return value / pow(10.0, 3);
case LengthUnits.nanometer:
return value / pow(10.0, 6);
case LengthUnits.micrometers:
return value / pow(10.0, 9);
case LengthUnits.millimeter:
return value / pow(10.0, 12);
case LengthUnits.centimeter:
return value / pow(10.0, 13);
case LengthUnits.decimeter:
return value / pow(10.0, 14);
case LengthUnits.meter:
return value / pow(10.0, 15);
case LengthUnits.kilometer:
return value / pow(10.0, 18);
}
case LengthUnits.picometer:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 6);
case LengthUnits.femtometer:
return value * pow(10.0, 3);
case LengthUnits.picometer:
return value;
case LengthUnits.nanometer:
return value / pow(10.0, 3);
case LengthUnits.micrometers:
return value / pow(10.0, 6);
case LengthUnits.millimeter:
return value / pow(10.0, 9);
case LengthUnits.centimeter:
return value / pow(10.0, 10);
case LengthUnits.decimeter:
return value / pow(10.0, 11);
case LengthUnits.meter:
return value / pow(10.0, 12);
case LengthUnits.kilometer:
return value / pow(10.0, 15);
}
case LengthUnits.nanometer:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 9);
case LengthUnits.femtometer:
return value * pow(10.0, 6);
case LengthUnits.picometer:
return value * pow(10.0, 3);
case LengthUnits.nanometer:
return value;
case LengthUnits.micrometers:
return value / pow(10.0, 3);
case LengthUnits.millimeter:
return value / pow(10.0, 6);
case LengthUnits.centimeter:
return value / pow(10.0, 7);
case LengthUnits.decimeter:
return value / pow(10.0, 8);
case LengthUnits.meter:
return value / pow(10.0, 9);
case LengthUnits.kilometer:
return value / pow(10.0, 12);
}
case LengthUnits.micrometers:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 12);
case LengthUnits.femtometer:
return value * pow(10.0, 9);
case LengthUnits.picometer:
return value * pow(10.0, 6);
case LengthUnits.nanometer:
return value * pow(10.0, 3);
case LengthUnits.micrometers:
return value;
case LengthUnits.millimeter:
return value / pow(10.0, 3);
case LengthUnits.centimeter:
return value / pow(10.0, 4);
case LengthUnits.decimeter:
return value / pow(10.0, 5);
case LengthUnits.meter:
return value / pow(10.0, 6);
case LengthUnits.kilometer:
return value / pow(10.0, 9);
}
case LengthUnits.millimeter:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 15);
case LengthUnits.femtometer:
return value * pow(10.0, 12);
case LengthUnits.picometer:
return value * pow(10.0, 9);
case LengthUnits.nanometer:
return value * pow(10.0, 6);
case LengthUnits.micrometers:
return value * pow(10.0, 3);
case LengthUnits.millimeter:
return value;
case LengthUnits.centimeter:
return value / pow(10.0, 1);
case LengthUnits.decimeter:
return value / pow(10.0, 2);
case LengthUnits.meter:
return value / pow(10.0, 3);
case LengthUnits.kilometer:
return value / pow(10.0, 6);
}
case LengthUnits.centimeter:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 16);
case LengthUnits.femtometer:
return value * pow(10.0, 13);
case LengthUnits.picometer:
return value * pow(10.0, 10);
case LengthUnits.nanometer:
return value * pow(10.0, 7);
case LengthUnits.micrometers:
return value * pow(10.0, 4);
case LengthUnits.millimeter:
return value * pow(10.0, 1);
case LengthUnits.centimeter:
return value;
case LengthUnits.decimeter:
return value / pow(10.0, 1);
case LengthUnits.meter:
return value / pow(10.0, 2);
case LengthUnits.kilometer:
return value / pow(10.0, 5);
}
case LengthUnits.decimeter:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 17);
case LengthUnits.femtometer:
return value * pow(10.0, 14);
case LengthUnits.picometer:
return value * pow(10.0, 11);
case LengthUnits.nanometer:
return value * pow(10.0, 8);
case LengthUnits.micrometers:
return value * pow(10.0, 5);
case LengthUnits.millimeter:
return value * pow(10.0, 2);
case LengthUnits.centimeter:
return value * pow(10.0, 1);
case LengthUnits.decimeter:
return value;
case LengthUnits.meter:
return value / pow(10.0, 1);
case LengthUnits.kilometer:
return value / pow(10.0, 4);
}
case LengthUnits.meter:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 18);
case LengthUnits.femtometer:
return value * pow(10.0, 15);
case LengthUnits.picometer:
return value * pow(10.0, 12);
case LengthUnits.nanometer:
return value * pow(10.0, 9);
case LengthUnits.micrometers:
return value * pow(10.0, 6);
case LengthUnits.millimeter:
return value * pow(10.0, 3);
case LengthUnits.centimeter:
return value * pow(10.0, 2);
case LengthUnits.decimeter:
return value * pow(10.0, 1);
case LengthUnits.meter:
return value;
case LengthUnits.kilometer:
return value / pow(10.0, 3);
}
case LengthUnits.kilometer:
switch (targetUnit) {
case LengthUnits.attometer:
return value * pow(10.0, 21);
case LengthUnits.femtometer:
return value * pow(10.0, 18);
case LengthUnits.picometer:
return value * pow(10.0, 15);
case LengthUnits.nanometer:
return value * pow(10.0, 12);
case LengthUnits.micrometers:
return value * pow(10.0, 9);
case LengthUnits.millimeter:
return value * pow(10.0, 6);
case LengthUnits.centimeter:
return value * pow(10.0, 5);
case LengthUnits.decimeter:
return value * pow(10.0, 4);
case LengthUnits.meter:
return value * pow(10.0, 3);
case LengthUnits.kilometer:
return value;
}
}
}