블로그 이미지
소낑
혼자 정리하고 혼자 보는 초보개발자 소끼월드

calendar

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Notice

Tag

2018.08.30 13:18 BACK-END/JAVA
  • @Component
    • Spring이 관리하는 컴포넌트를 나타내는 일반적인 스테레오 타입
    • Redis / RabbitMQ등의 컴포넌트 관리 할때 붙이고 함
    • @Component를 구체화 한 애들로는 @Service / @Repository / @Controller 등이 있음
  • @Value
    • 프로퍼티정보를 가지고 올 수 있다
    • properties.xml에 있는 값을 가지고 있음


'BACK-END > JAVA' 카테고리의 다른 글

Spring Annotation  (0) 2018.08.30
jdk9 설치후 Eclipse 첫 실행시 실행 안되는 오류  (0) 2017.10.09
posted by 소끼 소낑
2018.04.19 10:52 FRONT-END/Javascript

const x1 = parseInt(0.000001);

const x2 = parseInt(0.0000001);


console.log(`x1 = ${x1}\nx2 = ${x2}`);


출력결과 

====================

x1 = 0

x2 = 1

====================


이유: 

javascript parseInt() 함수 (parseInt(string, radix)) 호출하면,

데이터 선처리로 앞에 string은 toString() 함수로 한번 변환 된 후 정수형으로 계산됨

toString()함수에서 숫자를 변환할때 (10^k) 에서 k의 범위에 따라 처리되는 로직이 다른데


k < -6 일때; toString은 단일자릿수로 구성된 문자열 반환하고 그 다음 소문자 e , 숫자 형태의 지수표현을 반환

지수표현 예시) 0.000001   -> 1e-6       0.0000001 -> 1e-7


결국, 0.000001 (le-6)은 "0.000001" 반환, 0.0000001 (1e-7)은 "1e-7"을 반환


parseInt()로 다시 돌아와서,

parseInt(string, radix)에서 string을 "le-7"로 받았을때 parseInt는

0x / 0X가 아닌 문자가 포함된 문자열을 받을 경우 최초 문자만 정수형으로 계산

EX) "22NASD" -> 22

      "22MNA4DSA" -> 22


따라서, 0.0000001 -> toString() -> "1e-7" -> parseInt("1e-7") -> 1



참고:

http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.2.2 

(15.1.2.2 parseInt(string, radix))

(9.8.1 ToString -> ToString Applied to the Number Type)

posted by 소끼 소낑
2018.01.15 13:23 데이터베이스/Mysql

Decimal 과 Float중에 무엇을 사용해야 하는가?


  1. 가격과 같은 애들은 Decimal 사용해라 (오차범위때문)


Decimal: 고정 소수점, 같은 메모리 용량 안에서 Float보다 적은 범위 표시

Float: 부동 소수점, 같은 메모리 용량 안에서 Decimal보다 많은 범위 표시



이유: float의 경우, 연산시 오차가 발생 할 수 있다.

ex) float(2.3 * 100) => 229

  • 컴퓨터는 2진법으로 계산.

  • float는 부동소수점으로 소수점 자릿수를 알 수 없는데, 이럴 경우 컴퓨터 식별 값은 2.12878715412….처럼 유한소수가 아닌 무한소수가 됨

  • 유한소수가 아니기 때문에, 가장 근사치 값을 잡아 계산함

  • 근사치로 계산하기 때문에 계산을 거듭 할 수록 오차가 생길 수 밖에 없는구조



    • 해결하기 위해선 유한소수를 사용해야함

      • Decimal은 고정소수점으로 유한소수이기 때문에 Decimal을 사용


해결



참고

http://hsol.tistory.com/234

http://piook.tistory.com/73

http://bblog.tistory.com/295



'데이터베이스 > Mysql' 카테고리의 다른 글

Decimal vs Float  (0) 2018.01.15
mysql 테이블 컬럼 정보 조회  (0) 2017.04.14
posted by 소끼 소낑