私は燃料効率のために私自身の単位で jscience の測定部分を拡張しようとしています。ユニット内に、FuelEconomy と FuelConsumption という複数のユニットを定義しました。
定義された値の例:
public static final Unit<FuelEconomy> KILOMETRE_PER_LITRE = nonSI(new ProductUnit<FuelEconomy>(SI.KILOMETRE.divide(NonSI.LITRE)));
public static final Unit<FuelConsumption> LITRE_PER_KILOMETRE = nonSI(new ProductUnit<FuelConsumption>(
NonSI.LITRE.divide(SI.KILOMETRE)));
public static final Unit<FuelConsumption> GALLON_US_PER_MILE = nonSI(new ProductUnit<FuelConsumption>(
NonSI.GALLON_LIQUID_US.divide(NonSI.MILE)));
public static final Unit<FuelEconomy> MILE_PER_GALLON_US = nonSI(new ProductUnit<FuelEconomy>(
NonSI.MILE.divide(NonSI.GALLON_LIQUID_US)));
私が現在抱えている問題は、これら 2 つ (Km/l から l/KM へ) の間で変換できるようにすることです。そのため、ProductUnit の逆数が必要ですが、基本単位が原因で変換できないという問題が発生します。違います ( 1/m2 && m2 )
これらの単位の定義で何か間違ったことをしていますか、それともこれを可能にする他のオプションはありますか?
私が使用しているライブラリ:
http://jscience.org/experimental/javadoc/javax/measure/package-summary.html