기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

[Java] n번째 소숫점 자리 출력
Java/순수 Java

[Java] n번째 소숫점 자리 출력

2020. 5. 11. 16:37
반응형

[Java] n번째 소숫점 자리 출력

 

 

1. 주요 코드

 

private double updateIndex = 0;
updateIndex += (Math.random() * 0.1);
updateIndex += 0.1;
System.out.println(String.format("%.5f", updateIndex));

 

소숫점 자리로 출력하려면 당연히 int가 아닌 float이나, long, double 같은 자료형을 사용해야 한다.

여기서 중요한 것은 String.format()함수.

%.5f가 즉 5번째 자리까지 출력한다는 의미이다.

%.3f를 넣었다면 3번째 자리까지 소숫점이 출력된다.

 

 

현재 updateIndex라는 변수는 Math.random()값에 0.1을 곱하고, 0.1을 더한 값으로 초기화를 했다.

 

 

 

2. 예시 코드

 

public static Runnable updater;
private static double updateIndex = 0;
static boolean running = false;
private static boolean plus = false;

public void run(){
		updater = new Runnable() {
			public void run() {
//				System.out.println(t);

				if (plus == false) {
					updateIndex += (Math.random() * 0.1);
					plus = true;
					updateIndex += 0.1;

				} else {
					updateIndex -= (Math.random() * 0.1);
					plus = false;
					updateIndex -= 0.1;
				}
				System.out.println(String.format("%.5f", updateIndex));

				if (running) {
					Display.getCurrent().timerExec(1000, this);
				}
			}
		};

		Display.getCurrent().timerExec(1000, updater);
		running = true;
}

 

Thread를 이용해 1초마다 updateIndex의 값이 0.1*랜덤값+0.1로 변동이 있게끔 설정했다.

 

 

 

3. 실행 결과

 

필자는 GEF Nebula 기반의 Chart Viewer를 사용하고 있었기 때문에 위와 같이 그래프가 갱신되는 것을 확인해 볼 수 있다.

 

 

 

코드 상에서 확인해보면 소숫점 5자리까지 나오는 것을 확인해 볼 수 있다.

 

반응형
저작자표시 변경금지 (새창열림)

'Java > 순수 Java' 카테고리의 다른 글

[Java] 자바 코드 실행시간 측정 방법  (1) 2020.05.27
[Java] Java Cpu 사용량, 메모리 사용량, 디스크 사용량 구하기  (3) 2020.05.12
[Java] SWT Table Checkbox 상태 확인하는 방법  (0) 2020.05.11
[Java] Eclipse 텍스트 더블 클릭시 하이라이트 유지하는 방법  (0) 2020.04.07
[Java] Java Project에 Maven 설치(컨버트)  (0) 2020.03.19
    'Java/순수 Java' 카테고리의 다른 글
    • [Java] 자바 코드 실행시간 측정 방법
    • [Java] Java Cpu 사용량, 메모리 사용량, 디스크 사용량 구하기
    • [Java] SWT Table Checkbox 상태 확인하는 방법
    • [Java] Eclipse 텍스트 더블 클릭시 하이라이트 유지하는 방법
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바