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' );}