Не удалось преобразовать [& hellip; ReloadableResourceBundleMessageSource] в требуемый тип [& hellip; ResourceBundleMessageSource]

Решение Kerrek SB верное. Но вы можете сделать это быстрее без какого-либо цикла (или меньше циклов). Просто умножьте часть дроби на 10precision. Уменьшение числа или умножений также уменьшает кумулятивную ошибку, если вы выполняете математику с типом с плавающей точкой. Для точного преобразования вам нужно использовать тип с плавающей запятой с более высокой точностью.

Например, вы хотите преобразовать 0.1234567 с 5 цифрами точности, умножить число на 10000 и получить int-часть. Если требуется округление, умножьте его на 100000 и округлите последнее число

0
задан Dred 16 January 2019 в 16:44
поделиться

1 ответ

Полученное сообщение об ошибке связано с тем, что где-то в вашей кодовой базе вы используете ResourceBundleMessageSource в качестве типа. Вероятно, в классе, который имеет поле этого типа.

Вместо использования конкретного типа ResourceBundleMessageSource вы должны использовать общий интерфейс MessageSource. Таким образом, не имеет значения, какую реализацию вы выберете.

0
ответ дан M. Deinum 16 January 2019 в 16:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: