36 votes

Bibliothèque de conversion d'unités métriques Java?

J'ai une application qui devra effectuer un certain nombre de conversions d'unités (métrique en impérial, impérial en métrique).

Existe-t-il une bibliothèque Java existante qui fait cela? Ou vais-je devoir rouler le mien? (Mes premières recherches sur Google se sont avérées modérément inutiles.)

58voto

dfa Points 54490

il existe une spécificité de la JSR 275 (javax.mesure) avec JScience que RI (l'Implémentation de Référence). Par exemple la conversion de 100 Miles de kilomètres est très simple:

UnitConverter toKilometers = MILE.getConverterTo(KILOMETER);
double km = toKilometers.convert(Measure.valueOf(100, MILE).doubleValue(MILE));

(notez que les unités sont toutes de type sécurisé au moment de la compilation, une killer feature qui à mon humble avis)

L'inverse peut être facile:

UnitConverter toMiles1 = KILOMETER.getConverterTo(MILE);

ou supereasy que:

UnitConverter toMiles2 = toKilometers.inverse();

NB importations:

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.*;

0voto

mattexx Points 2876

Ajout à la pile ...

Unidata publie désormais la bibliothèque de conversion des unités java de netcdf-java en tant que package autonome .

-2voto

J'ai trouvé la bibliothèque Java Unit Conversion sur SourceForge, mais je ne l'ai pas encore essayée (j'aurai besoin de fonctionnalités similaires dans un futur proche). Il est sous licence BSD. Ça pourrait aider.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X