java - tabla - escriba un programa que convierta de centímetros a pulgadas una pulgada es igual a 2.54 centímetros
Biblioteca de conversión de unidades métricas de Java? (4)
Tengo una aplicación que deberá realizar una cantidad de conversiones de unidades (métrica a Imperial, Imperial a métrica).
¿Hay una biblioteca Java existente que hace esto? ¿O tendré que hacer el mío? (Mis búsquedas iniciales en Google resultaron moderadamente inútiles).
Agregando a la pila ...
Unidata ahora publica la biblioteca de conversión de unidades java de netcdf-java como un paquete independiente .
Creamos una biblioteca, UnitOf , para Java, JavaScript y C # para realizar fácilmente estas conversiones de medición. Hay más de 20 unidades de medida completas y las conversiones se pueden realizar en tan solo una línea.
//One liner
double x = new UnitOf.Mass().fromPounds(5).toKilograms(); //2.26796 returned as 5 pounds is 2.26796 kilograms
//Or as a variable
UnitOf.Length feet = new UnitOf.Length().fromFeet(5.5); //Instantiate UnitOf.Length and set "feet" as 5.5
double foo = feet.toInches(); //66 returned as 5.5 feet is 66 inches
double bar = feet.toMeters(); //1.6764 returned as 5.5 feet is 1.6764 meters
UnitOf también le da la capacidad de analizar los tipos de datos, convertir ay desde fracciones, e incluso crear sus propias mediciones de UnitOf personalizadas.
Encontré la biblioteca de Conversión de unidades Java en SourceForge, pero aún no lo he probado (necesitaré una funcionalidad similar en un futuro próximo). Está licenciado como licencia BSD. Podría ayudar.
hay un JSR 275 específico (javax.measure) con JScience como RI (Implementación de referencia). Por ejemplo, convertir 100 millas en kilómetros es fácil ya que:
UnitConverter toKilometers = MILE.getConverterTo(KILOMETER);
double km = toKilometers.convert(Measure.valueOf(100, MILE).doubleValue(MILE));
(tenga en cuenta que las unidades son de tipo seguro un tiempo de compilación, una función asesina imho)
Lo contrario puede ser fácil:
UnitConverter toMiles1 = KILOMETER.getConverterTo(MILE);
o superosa como:
UnitConverter toMiles2 = toKilometers.inverse();
NB importa:
import javax.measure.Measure;
import javax.measure.converter.UnitConverter;
import javax.measure.quantity.Length;
import static javax.measure.unit.NonSI.*;
import static javax.measure.unit.SI.*;