2011-11-27 3 views
1

Я получаю значение BigDecimal из базы данных. Он равен «0E-10». Когда он передается freemarker, значение обертывается как 0.Как использовать Java BigDecimal в Freemarker?

Я уже пробовал сверлить арифметический движок как BigDecimal, но это не имело смысла.

+0

Может быть свалка вопрос, но что практическая разница между 0E-10 и 0 (то есть, помимо внутреннего представления)? Они одинаково равны нулю, не так ли? Где это должно иметь значение для FreeMarker, какова именно проблема с его выходом? Во всяком случае, я вполне уверен, что «ObjectWrapper» обертывает оригинальные «BigDecimals» как есть, поэтому, если он был сохранен 0E-10, тогда он остается таким. Но, вероятно, число форматировщик Java просто отображает его как 0, что и есть. – ddekany

ответ

0

Вы хотите, чтобы вы всегда печатали в научных обозначениях? Вы можете использовать $ {variable? String ("0. ## E0")}, чтобы сделать это в Freemarker. Freemarker автоматически конвертирует вещи в удобные строки, если вы не укажете конкретный формат.

Смежные вопросы