JSP 페이지에서 값을 다른 단위로 변환하는 방법은 무엇입니까? 예를 들어 값 1001을 얻었을 때 1K 만 표시하려고하거나 1 000 001이 표시되면 1M을 표시하고 긴 속성을 표시하지 않으려 고합니다. JSP 페이지에 대한 정수 값을 가져올 때 어떻게 할 수 있습니까? 예를 들어 $ {myValue}?JSP 페이지의 단위 접두어로 값 변환
3
A
답변
3
static String toSymbol(int in) {
String[] p = { "", "K", "M", "G" };
int k = 1000;
assert pow(k, p.length) - 1 > Integer.MAX_VALUE;
int x = in;
for (int i = 0; i < p.length; i++) {
if (x < 0 ? -k < x : x < k) return x + p[i];
x = x/k;
}
throw new RuntimeException("should not get here");
}
1
아마도 java.text.Format의 사용자 정의 구현을 작성하거나 java.text.NumberFormat를 대체하여이를 수행 할 수 있습니다. 나는 당신을 위해 그런 것을하는 API 클래스를 알지 못한다.
또는 로직을 데이터를 제공하는 클래스에 그대로두고 적절한 형식으로 보낼 수 있습니다. JSP는 서식 지정 문제에만 신경을 써야하기 때문에 더 좋습니다. "1000"또는 "1K"로 표시하기로 결정하면 서버 측 규칙이 될 수 있습니다.
3
이 문제는 (내 생각에 해야)은 루프없이 해결할 수 있습니다.
는 방법은 다음과 같습니다
public static String withSuffix(long count) {
if (count < 1000) return "" + count;
int exp = (int) (Math.log(count)/Math.log(1000));
return String.format("%.1f %c",
count/Math.pow(1000, exp),
"kMGTPE".charAt(exp-1));
}
테스트 코드 :
for (long num : new long[] { 0, 27, 999, 1000, 110592,
28991029248L, 9223372036854775807L })
System.out.printf("%20d: %8s%n", num, withSuffix(num));
출력 :
0: 0
27: 27
999: 999
1000: 1.0 k
110592: 110.6 k
28991029248: 29.0 G
9223372036854775807: 9.2 E
관련 질문 (그리고 원래의 소스) :
+0
정확히 루프가 없습니다. –
관련 문제
- 1. struts2를 사용하는 jsp 페이지의 값 표시
- 2. 단위 테스트 JSP
- 3. .jsp 페이지의 ASP.NET dll
- 4. JSP 페이지의 Treeview
- 5. JSP 페이지의 클래스는 무엇입니까?
- 6. jsp taglib와 JSP 페이지의 근본적인 차이점은 무엇입니까?
- 7. JSP/HTML 페이지에서 PDF로 변환
- 8. jsp 페이지의 안정적인 매개 변수
- 9. JSP 페이지의 매개 변수 안정성
- 10. 분석 단위 변환
- 11. 측정 단위 변환
- 12. 피커 뷰 - 단위 변환
- 13. .Net의 단위 변환 라이브러리
- 14. 값 객체를 단위 테스트하기
- 15. 내가 JSP 페이지의 컨텍스트에서 다음 개체의 인스턴스가 JSP 엘
- 16. JSP doPost getAtribute null 값
- 17. "포함 된"페이지가있는 JSP 페이지의 변수
- 18. java.lang.OutOfMemoryError : JSP 페이지의 Java 힙 공간
- 19. IE 7은 jsp 페이지의 데이터를 표시하지 않습니다.
- 20. JSP 페이지의 자세한 정보를 줄이는 방법이 있습니까
- 21. C# : 행 단위 DataTable 변환
- 22. 8 바이트의 비트 단위 변환
- 23. jsp 파일을 Django 템플릿으로 변환 하시겠습니까?
- 24. 로드 된 페이지의 값 찾기
- 25. 페이지의 렌더링 XML 속성 값
- 26. UserControl에서 마스터 페이지의 값 설정
- 27. 크리스탈 보고서 값 변환?
- 28. 값 변환 중 오류
- 29. 정수의 접두어로 n의 0을 추가하십시오.
- 30. iPhone에서 명령 접두어로 전화 걸기
우리는 홈 일을하지 않을 수 있습니다, 시대의 구글이 문제가 해결 수천을 사용하는 방법을 배우게. –