2011-11-27 1 views
1

DB에서 BigDecimal 값을 가져옵니다. '0E-10'과 같습니다. freemarker에 전달되면 값은 0으로 래핑됩니다.Freemarker에서 Java BigDecimal을 사용하는 방법?

저는 이미 산술 엔진을 BigDecimal로 사용하려고 시도했지만 아무 쓸모가 없었습니다.

+0

어쩌면 덤프 질문,하지만 0E-10과 0 사이의 실질적인 차이는 무엇 (즉, 떨어져 내부 표현에서)? 둘 다 똑같이 제로군요, 그렇죠? FreeMarker가 어디에서 차이를 만들어야 하는가? 정확히 그 결과물의 문제점은 무엇입니까? 어쨌든, 나는'ObjectWrapper'가 원래의 BigDecimals을 그대로 감싸는 것을 확신합니다. 그래서 0E-10으로 저장 되었다면 그대로 유지됩니다. 하지만 아마 자바의 숫자 포맷터는 그것을 0으로 렌더링 할 것입니다. – ddekany

답변

0

항상 과학 표기법으로 인쇄하고 싶습니까? Freemarker에서 $ {variable? string ("0. ## E0")}을 사용하면됩니다. Freemarker는 특정 형식을 지정하지 않으면 사물을 사용자에게 친숙한 문자열로 자동 변환합니다.