javax.measure を使用して、ユーザー入力を秒から日まで変化する秒に変換していますが、任意の単位から別の単位への変換は機能しません。これが私が設定したものです。
String units = "d";
double value = 30.0;
BaseUnit<Duration> unitType = new BaseUnit<Duration>(units);
UnitConverter toSeconds = unitType.getConverterTo(NonSI.DAY);
double s = toSeconds.convert(Measure.valueOf(value, unitType).doubleValue(unitType));
しかし、私はこのエラーが発生します
Exception in thread "main" javax.measure.converter.ConversionException: d is not compatible with s
at javax.measure.unit.Unit.searchConverterTo(Unit.java:259)
at javax.measure.unit.Unit.getConverterTo(Unit.java:248)
at FAMain.main(FAMain.java:18
このエラーは、NonSI to NonSI に関係なく、どの組み合わせでも発生します。Length はどのようにでも変換できますが、何らかの理由で Unit が機能しません。