목록분류 전체보기 (200)
디케이
//int value int result = bigDecimalNumber.intValue(); //double value double result = bigDecimalNumber.doubleValue(); //float value float result = bigDecimalNumber.floatValue();
BigDecimal을 사용해야 하는 이유 Type 범위 float 1.4E-45 ~ 3.4028235E38 double 4.9E-324 ~ 1.7976931348623157E308 소수점을 저장할 수 있는 타입인 float과 double은 소수점의 정밀도가 완벽하지 않아 값의 오차가 생길 수 있습니다. 수점 이하의 수를 다룰 때 double과 float은 사칙연산 시 정확한 값을 출력하지 않을 수 있습니다. 그 이유는 내부적으로 수를 저장할 때 이진수의 근사치를 저장하기 때문입니다. 그렇기에 미세한 숫자의 변동도 허용하지 않는 특히 돈과 소수점을 다룬다면 BigDecimal을 사용하셔야 합니다. BigDecimal은 속도는 느리지만 숫자가 어긋날 가능성을 미연에 방지할 수 있습니다. BigDecimal ..
Math.round() Math함수의 round()함수는 실수의 소수점 첫번째 자리를 반올림하여 정수로 리턴시켜줍니다. 하지만 이 메서드를 잘 활용하면 소수점 몇번째 자리까지 나타내는것도 가능합니다. 예를들어 33.777*100을 하면 3377.7가 되겠죠. 여기서 round를 적용시키면 3378이라는 정수가 리턴될것입니다. 여기서 다시 100.0을 나눠주면 실수로 적용되어 나옵니다. (33.78이 나오게 됩니다.) 소수점 둘째 자리까지 나타내고싶으시면 100.0을 곱하였다가 나눠주시면 되고 소수점 셋째 자리까지 나타내고싶으시면 1000.0을 곱하였다가 나눠주면 됩니다. (참고로 반올림이 아닌 올림을 하고싶다면 Math.ceil(); 버림은 Math.floor();입니다.) Math.round() 예제 ..
문자열에있는 숫자를 계산하고 싶은경우, 스트링변수에 Int값을 넣고싶은경우등등 코딩을 하다보면 어떤 변수형을 다른 형으로 강제 치환해야 할 경우가 많습니다. 이번글에서는 자바의 형변환에 대해 포스팅하겠습니다. 문자 -> 숫자 1. String to Int 가장 많이 사용한다고 생각됩니다. 자바 Integer클래스의 parseInt함수와 valueOf 함수로 변환 시켜줄 수 있습니다. //Integer.paseInt(String값) //Integer.valueOf(String값) String s_num = "10"; int i_num = Integer.parseInt(s_num); //String -> Int 1번방식 int i_num2 = Integer.valueOf(s_num); //String -> ..
삼항연산자 삼항 연산자는 조건식을 가지고 반환할 피연산자를 선택하는 동작을 하기 때문에 조건 연산자라고도 부른다. 이름에서 알 수 있듯 조건식의 결과에 따라 값을 반환하기 때문에, if문과 비슷한 역할을 수행할 수 있다. 이번 글에서는 삼항연산자를 중첩 사용해서 if문을 대체하는 연습을 해보겠다. 삼항연산자의 사용 (조건식)? 참 : 거짓; Java int a = 20; int b = 10; System.out.println((a > b)? "a가 b보다 크다." : "b가 a보다 크다."); // "a가 b보다 크다." 출력 출처: https://mintparc.tistory.com/62 [829] 삼항연산자의 기본적인 사용 방법이다. 조건식이 참일 때는 참에 해당하는 값을 반환하고, 거짓일때는 거짓에..
nn이 입력되면 kk를 빼서 제곱수를 만들 수 있는 kk를 구하고, 그 제곱수에 루트를 씌운 수(제곱근) tt를 구하여라. 이 때 k는 여러가지가 될 수 있는데 가장 작은 k를 출력한다. 입력 nn이 입력된다.(0tt를 출력한다. 이 때 kk는 여러가지가 될 수 있는데 가장 작은 kk를 출력한다. 입력 예시 예시 복사 34 출력 예시 9 5 도움말 3434에서 99를 빼면 2525이고, 2525의 제곱근은 55이다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long n = sc.nextInt(); long k = 0; for ..
아작스(ajax) 통신 동기 방식 집에간다. 옷을 세탁기에 넣는다. 세탁이 다 될 때 까지 세탁기 앞에서 대기 한다. 세탁기가 세탁을 완료하면, 건조기에 넣는다. var d = 10; // 예를 들어 실행이 2초 걸린다면 var data = getAjaxData("https://www.naver.com"); //체감상 2년 alter(data) 비동기 방식 집에 간다. 옷을 세탁기에 넣는다. 세탁기에 건조 예약을 걸어 둔다. 세탁 이외에 다른 작업을 할 수 있다. ###- 바닐라JS 사용 // 바닐라JS console.clear(); let apiURL = "https://api.github.com/repos/vuejs/vue/commits?per_page=5&sha=master"; let fetchDa..
자연수 a, b 사이의 구간에 대해서 홀수는 더하고 짝수는 빼는 식을 보여준 후 결과를 출력하시오. 예) a=5, b=10 인 경우, 5-6+7-8+9-10=-3 a=6, b=9 인 경우, -6+7-8+9=2 입력 두 자연수 a, b가 입력된다.(0 출력 홀수는 더하고 짝수는 뺀 식을 보여준후 결과를 출력한다. 식을 나열할때 양수인 경우 불필요하게 '+'를 붙여서 출력하지 않는다. 입력 예시 예시 복사 5 7 출력 예시 5-6+7=6 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b =..
두 자연수 a, b 사이의 구간에 대해서 홀수는 더하고 짝수는 빼는 식을 보여준 후 결과를 출력하시오. 단, 결과가 양수이면 +를 붙이지 않는다. 예) a = 5, b=10 일 경우, +5-6+7-8+9-10=-3 a = 6, b=9 일 경우, -6+7-8+9=2 입력 두 자연수 a, b를 입력 받는다. (반드시 a가 b보다 같거나 작게 입력된다.) 출력 홀수는 더하고 짝수는 빼는 식을 보여준후 결과를 출력한다.(예시 참고) 첫수가 양수일 경우에도 앞에 +를 붙여서 출력. 단 결과가 양수일 경우에는 +를 붙이지 않는다. 입력 예시 예시 복사 5 7 출력 예시 +5-6+7=6 import java.util.Scanner; public class Main { public static void main(Str..
두 자연수 a, b 사이의 구간에 대해서 홀수는 더하고 짝수는 뺀다음의 합을 출력하시오. 예) a = 5, b=10 일 경우, 5 - 6 + 7 - 8 + 9 - 10 = -3 입력 두 자연수 a, b를 입력 받는다. (반드시 a가 b보다 같거나 작게 입력된다.) 출력 a, b 사이의 수 중 홀수는 더하고 짝수는 뺀 결과를 출력하시오. 입력 예시 예시 복사 5 10 출력 예시 -3 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int c = 0; for ..