DMelt:Units/1 Unit conversions
Unit conversion
DataMelt can be used to easily convert between different units of measurement. You can use it in a GUI mode or as a Java classes, which can be accessed via any scripting language supported by the program.
A GUI mode
Simply start DataMelt IDE and select [Tools]->[Unit conversion]. You will see a GUI windows where you can sent different conversion units. The program is based on the JConvert program. This window is shown below:
Conversions in Java/Jython
Alternatively, you can do conversions inside Java/Jython code. Use the UConverter class.
Here is an example:
from jhplot import * u=UConverter() # initialize converter print u.toString() # check measure types c=u.getConversionType("Distance") # conversion type print c.getAllFromUnits() # check all units for this measure print "1 mile = ", c.convert(1.0, "mile", "meter") , " meters" print "1 mile = " + c.convertFraction("1", "mile", "meter"), " meters";
The code, among other things, will print the correct answer:
1 mile = 1609.344 meters 1 mile = 1609 43/125 meters
The conversion tables are rather complete. In total, there are 24 measures, such as Flow, Volume, Power etc. and more than 3,000 possible conversion combinations.
Let us consider more sophisticated example with some more explanation:
from jhplot import * u=UConverter() # initialize converter print u.toString() # check measure types
The last line print all possible conversions:
Flow - 1156 conversions Volume Dry - 36 conversions Volume - 400 conversions Power - 100 conversions Distance - 398 conversions Density - 64 conversions Area - 100 conversions Temperature - 11 conversions Velocity - 324 conversions Computer - 169 conversions Concentration - 169 conversions Acceleration - 49 conversions Amt of Substance - 16 conversions Force - 64 conversions Angle - 81 conversions Time - 289 conversions Mass - 256 conversions Energy - 841 conversions Torque - 169 conversions Light - 16 conversions Pressure - 441 conversions
Now let us continue with this example:
from jhplot import * u=UConverter() # initialize converter print u.getTypes() # this prints list of all available units # we selected "Distance" measure c=u.getConversionType("Distance") # get conversion type print c.getAllFromUnits() # here we print all conversion units print "1 mile = ", c.convert(1.0, "mile", "meter") , " meters" print "1 mile = " + c.convertFraction("1", "mile", "meter"), " meters";
You can also setup a custom conversion tables:
from com.edsdev.jconvert.domain import Conversion conversion = Conversion.createInstance("Celsius", "C", "Fahrenheit", "F", "9/5", 32); print "Test1: Check: 17 Celsius is 62.6 Fahrenheit" print conversion.convertValue(17, conversion.getFromUnit()) print "Test2: 62.6 Fahrenheit is 17.0 Celsius" print conversion.convertValue(62.6, "Fahrenheit", "Celsius")
The answer is:
Test1: Check: 17 Celsius is 62.6 Fahrenheit 62.6 Test2: 62.6 Fahrenheit is 17.0 Celsius 17.0