Я использую javax.measure для преобразования пользовательского ввода в секунды, который может варьироваться от секунд до нескольких дней, однако преобразование из любой единицы в другую не работает, вот что я имею настроить.Javax.measure.quantity.Duration conversion issue
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 к Nonsi. Я могу преобразовать длину любым способом, просто отлично, но по какой-то причине Unit не работает.
что вы пытаетесь сделать? код выглядит нечитаемым беспорядком разных объектов. Что нужно перевести на что? –
Извините, пользовательский ввод должен быть преобразован в секунды, и указанный вход может варьироваться от секунд до дней – pianoisland
, что вводится пользователем? каковы допустимые значения для ввода пользователем? –