2つのエンティティ間で変換を行う場合、通常はUnitConverterで行います。どのように換算係数がわかるのでしょうか?例えば:単位変換の換算係数を取得する方法
public static final Unit<Length> KILOMETRE = METER.times(1000);
public static final Unit<Length> CENTIMETRE = METRE.divide(100);
私はないですコンバータインターフェース(すなわち、千B/Wキロメーター又は計器へセンチメートル場合1/100)からプログラム
を変換係数を取得したいと思いUnitConverterインターフェイスからこの情報を取得する方法を確認してください。 OPにより投稿され、さらにコードの後
EDIT1
protected double getConvFactor(Unit<Length> from, Unit<Length> to) {
double factor = -1;
UnitConverter unitConverter = from.getConverterTo(to);
if (unitConverter instanceof MultiplyConverter) {
MultiplyConverter multiplyConverter = (MultiplyConverter) unitConverter;
factor = multiplyConverter.getFactor();
} else if (unitConverter instanceof AddConverter) {
AddConverter addConverter = (AddConverter) unitConverter;
factor = addConverter.getOffset();
} else if (unitConverter instanceof RationalConverter) {
RationalConverter rationalConverter = (RationalConverter) unitConverter;
double divisor = rationalConverter.getDivisor().doubleValue();
double dividend = rationalConverter.getDividend().doubleValue();
factor = divisor;
}
}
-v投票の理由があります。 – Sam