2017년 11월 17일 금요일

Node.js/Javascripts 소숫점 자를때 생기는 문제점..

가지고 있는 Double 혹은 Float 타입의 값의 소숫점을 자를 필요가 있었는데,
우선 결론적으로는 간단한 함수를 쓰면 된다.

var value = 3.14;
console.log(value.toFixed(1));
// 결과는 3.1 이 나오게 된다.

toFixed는 반올림 을 해주며, 이미 여러곳에서 쉽게 검색을 할 수 있는데, 추가적인 작업중에 꽃피는 애로사항이 나를 맞이하였다,

javascripts를 내가 싫어하는 이유중 하나가 바로 데이터타입을 원하는데로 선언이 안되던건데, 아니나 다를까 여기서 발목이 잡혔다.

toFixed 함수의 리턴갑은 String 타입이다.

이를 확인하기 위해서 간단히
console.log(typeof value);
//결과는 string

를 이용했었다.

결론적으로 String이어서 또 캐스팅을 해야하는 짜증나는 문제가 생겼는데,이미 정의된 함수를 뜯어고치는것도 내 수준에서는 정신나간짓 인거같고, 또 캐스팅을 하자니 뭔짓인가 싶어서 조금 더 검색을 해 봤는데 결과는 너무나 간단하게 해결이 가능했다.

console.log(value.toFixed(1)/1);
1을 나눠주게 해버리니깐 number 타입으로 다시 바꾸더라.

익숙해지기 힘드네..

댓글 없음:

댓글 쓰기