2016-11-13 1 views
1

JavaScript에서 전체 정수 값 (9)이되도록 (0.9)와 같은 float 값을 어떻게 추출 할 수 있습니까?자바 스크립트에서 float 값 추출

예를

var total = 67.9; 
something to process var whole var DEC to be like 
var whole = 67; 
var DEC = 9; 
+1

왜 9가 아닌 0.9를 곱? 42.321과 같이 숫자가 어떻게 될까요? 'dec = 321'을 반환해야합니까? –

+0

42.321과 같은 숫자는 42와 321이 아닌 0.321을 리턴해야합니다. –

+0

일반적으로 유한 정밀도로 인해 불가능합니다. 잘못된 방식으로 무언가를하고있을 가능성이 있으며, 원래의 문제를 더 잘 설명 할 수 있습니다. – zerkms

답변

2

내가 생각할 수있는 가장 간단한 방법은 이것이다 : 그것은 지수 형태의 숫자와 함께 작동하지 않습니다

var string = total.toString(); 
var dotidx = string.indexOf("."); 
var dec = dotidx >= 0 ? +string.slice(dotidx + 1) : 0; 

공지있다.

2

결과를 찾는 방법은 여러 가지가 있습니다. 하나의 간단한 해결책을드립니다.

var total = 67.9 
var splitVal = total.toString().split(".") 
var whole = splitVal[0], var desc = splitVal[1] || 0 

당신이 수의 전체와 DESC를 변환 할 경우 다음 1.

var whole = splitVal[0] * 1 
+1

'total'이 실제로 정수인 경우'undefined' /'NaN'을 반환합니다. – MaxArt

+0

우리는'var desc = splitVal [1] || 0 '이다. 감사 맥스 아트 –