convertEnergy function
Convert energy. Some decimals may be lost in the proccess.
from
, to
and value
can NOT be null,
otherwise an AssertionError is thrown
Basic usage:
main() {
final energy = convertEnergy(
Energy.kilocalorie, // from
Energy.gramCalorie, // to
1, // value
);
print(energy); // 1000
}
Read the documentation for more information
Implementation
double convertEnergy(Energy from, Energy to, double value) {
verify(from, to, value);
if (from == to) return value;
if (from == Energy.joule) {
switch (to) {
case Energy.kilojoule:
return value / 1000;
case Energy.gramCalorie:
return value / 4.184;
case Energy.kilocalorie:
return value / 4184;
case Energy.wattHour:
return value / 3600;
case Energy.kilowattHour:
return value / 3.6e+6;
case Energy.electronvolt:
return value / 6.242e+18;
case Energy.britishThermalUnit:
return value / 1055;
case Energy.usTherm:
return value / 1.055e+8;
case Energy.foot_pound:
return value / 1.356;
default:
return value;
}
} else {
final joule = Energy.joule;
switch (from) {
case Energy.kilojoule:
return convertEnergy(joule, to, value * 1000);
case Energy.gramCalorie:
return convertEnergy(joule, to, value * 4.184);
case Energy.kilocalorie:
return convertEnergy(joule, to, value * 4184);
case Energy.wattHour:
return convertEnergy(joule, to, value * 3600);
case Energy.kilowattHour:
return convertEnergy(joule, to, value * 3.6e+6);
case Energy.electronvolt:
return convertEnergy(joule, to, value * 6.242e+18);
case Energy.britishThermalUnit:
return convertEnergy(joule, to, value * 1055);
case Energy.usTherm:
return convertEnergy(joule, to, value * 1.055e+8);
case Energy.foot_pound:
return convertEnergy(joule, to, value * 1.356);
default:
return value;
}
}
}