백엔드/Java

[Java] 소수 반올림(Math.round, String.format)

  • 반올림을 할 수 있는 대표적인 방법 2가지
    • Math.round()
    • String.format()

1. Math.round(), Math.ceil(), Math.floor()

  • Math.round() : 반올림하는 경우 사용
  • Math.ceil() : 올림하는 경우 사용
  • Math.floor() : 버림하는 경우 사용
예제
double pie = 3.14159265358979;
//반올림
System.out.println(Math.round(pie)); //결과 : 3
System.out.println(Math.round(pie*100)/100.0); //결과 : 3.14
System.out.println(Math.round(pie*1000)/1000.0); //결과 : 3.142

//올림
System.out.println(Math.ceil(pie)); //결과 : 4.0
System.out.println(Math.ceil(pie*100)/100.0); //결과 : 3.15
System.out.println(Math.ceil(pie*1000)/1000.0); //결과 : 3.142

//버림
System.out.println(Math.floor(pie)); //결과 : 3.0
System.out.println(Math.floor(pie*100)/100.0); //결과 : 3.14
System.out.println(Math.floor(pie*1000)/1000.0); //결과 : 3.141

2. String.format()

예제
double pie = 3.14159265358979;
double money = 442422113.243423;
System.out.println(String.format("%.2f", pie)); //결과 : 3.14
System.out.println(String.format("%.3f", pie)); //결과 : 3.142
System.out.println(String.format("%,.2f", money)); //결과 : 442,422,113.24
다른 사용방법
System.out.println(String.format("%04d", 30)); //결과 : 0030
System.out.println(String.format("%, d", 1000000000)); //결과 : (공백)1,000,000,000
System.out.println(String.format("I have %.2f bugs to fix.", 44444.444)); //결과 : I have 44444.44 bugs to fix.
System.out.println(String.format("%tc", new Date() )); //결과 : 수 8월 04 06:36:39 KST 2021
System.out.println(String.format("%tr", new Date() )); //결과 : 06:36:39 오전

 

참고 블로그:

https://coding-factory.tistory.com/250

https://devbible.tistory.com/78

 

'백엔드 > Java' 카테고리의 다른 글

[Java] 배열 정렬(Arrays)  (0) 2021.08.04
[Java] Generic 제너릭 타입 - 개념,사용법,활용법  (0) 2021.05.29
[Java] Parameter... 표현  (0) 2021.04.01