java,freemarker 두 소수 보류

1. Java 2 비트 소수점 유지

double acc = 22.4322;
String accX = String.format("%.2f", acc);
2. freemarker는 두 개의 소수를 보류한다

<#if centerFreeSize??>
  ${centerFreeSize?string("#.##")}
<#else>
  0.00
</#if>
보충:freemarker 보류 소수
freemarker는 두 개의 소수를 보류합니다
방법 1 #{number ;m1M2}m 최소 소수점, M 최대 소수점
방법 2  ${x?string("0.##")}    개발에서 소홀히 하기 쉬우므로 하나의 값(소수일 수도 있음)을 입력하고 출력할 때 처리하지 않으면 쉽게 나타난다
스텔스 버그.예를 들어 데이터베이스에서 0.22의 수치를 꺼내면 일반적인 출력 ${x?if_exists?html}은 0.22가 아니라 0을 표시합니다.
${x?if_exists?string.number} 또는 ${x?if_exists.toString ()?html}로 써야 합니다.
1, 1보다 작은 숫자가freemarker에서 감소하는 오류
210002000 같은 숫자는freemarker에서 형식이 잘못되어 1000으로 해석됩니다
해결 방법은number가freemarker에 표시되는 형식을 설정합니다
Xml 코드

<#setting number_format="0.00"> 
  <#assign x="${goodsgroupt.memberprice}"/> 
  <#assign y="${goodsgroupt.groupprice}"/> 
  ${(x?number-y?number)} 
포인트는 바로 이 번호입니다.포맷
인터넷에서 넘버라고 하시네요.format="0", 이렇게 하면 두 번째 상황만 해결할 수 있습니다.
4. 부분 설정
특징:
만약 어떤 페이지나 몇 개의 페이지 (다른 페이지는import로 들어올 수 있음) 에 사용된 숫자 포맷은 같고, 숫자의 포맷 형식을 통일적으로 설정하는 것을 고려할 수 있다
사용법:
포맷이 필요한 숫자를 사용하기 전에 설정하면 됩니다. 포맷은 다음과 같습니다. <#settingnumber_format=",##0.###">에서 ",#0.###"의 내용은 자바의 숫자 형식과 유사한 문법 형식, 즉 상기 세 번째 점을 사용합니다.
참고:
만약에 한 페이지에 사용한다면, 전체 페이지의 기본값은 그런 형식입니다. string 함수로 기본 형식을 덮어쓰지 않는 한, 같은 형식으로, 만약 하나의 공공 페이지에 두면, 다른 페이지는include만 하면 같은 형식이 됩니다.
5. 전역 설정
특징:
모든 페이지에서 기본적으로 숫자의 포맷 형식을 제공합니다
활용단어참조
(spring용): freemarker의 프로필에 기본 숫자 포맷 형식을 다음과 같이 설정합니다.
코드는 다음과 같습니다.

< property name = "freemarkerSettings" >
     < props>
        .....
       < prop key = "number_format"> 0.## </prop >
        ......
     </props>
</property>

좋은 웹페이지 즐겨찾기