unitconverterjavascript
v3.1.0
Published
Unit conversion library allowing "agnostic" string units, complex conversions, and recursive cross-conversions.
Downloads
1
Maintainers
Readme
UnitConverter
UnitConverter converts between bits/bytes, time, and area, distance, mass, temperature, and volume (and cubic volume) in metric and U.S. Standard units for a total of 175 units providing over 4 thousand unit conversions.
Plus, it allows additional units to be defined (for example, currency) and cross-conversions to be defined between the unit systems. Cross-conversion are not limited to conversion factors, they can be functions if necessary.
Linear Conversion Example in JavaScript
// Example: Calculate the cost of driving.
var unitConv = new UnitConverter();
// Turn on verbose output.
UnitConverter.verbose = true;
// Define U.S. dollars as a base unit since currency is not in the library.
UnitConverter.defineBaseUnit( "US$" );
// Set a factor of 24 miles/gallon.
unitConv.setCrossFactor( 24, "mile", "gallon" );
// Set a factor of 3.349 US$/gallon.
unitConv.setCrossFactor( 3.349, "US$", "gallon" );
// Check whether a conversion is possible.
if( unitConv.canConvert( "mile", "US$" ))
{
// Convert 300 miles to dollars (~$41.86).
var cost = unitConv.convert( 300, "mile", "US$" );
}
Non-Linear Conversion Example in JavaScript
var unitConv = new UnitConverter();
// Turn off verbose output.
UnitConverter.verbose = true;
UnitConverter.defineBaseUnit( 'carbon 14', 'time', 'isotope' );
unitConv.setCrossConverter(
function carbon_14_percentage_to_years( percentage )
{
var half_life = 5730;
var decay_rate = -0.693;
var years = (Math.log( percentage ) / decay_rate) * half_life;
return( years );
},
'carbon 14', 'year', function years_to_carbon_14_percentage( years )
{
var half_life = 5730;
var decay_rate = -0.693;
var percentage = Math.exp((years / half_life) * decay_rate );
return( percentage );
}
);
if( unitConv.canConvert( 'carbon 14', 'year' ))
{
var approximate_atoms_per_kilogram_of_an_animal = 1e26;
var estimated_weight_of_brachiosaurus_kilograms = 5.6e4;
var one_atom_of_brachiosaurus_percentage = 1
/ (approximate_atoms_per_kilogram_of_an_animal
* estimated_weight_of_brachiosaurus_kilograms);
// Convert brachiosaurus remains with one carbon 14 atom to its age (~585405 years).
var age = unitConv.convert( one_atom_of_brachiosaurus_percentage, 'carbon 14', 'year' );
}