2014-05-14 2 views
1

JavaScript를 사용하여 문자열의 마지막 자릿수를 제거하려면 어떻게합니까?숫자의 마지막 자리 제거 (문자열이 아님)

예 :

Input : 2121.1124 
    Output : 2121.112 

내가 많은 구글. 하지만 어디에서나 나는 문자열을 제거했다. 내가 어떻게 해?

문자열의 마지막 문자를 제거하는 코드입니다.

  var str = "stackoverflow"; 
      str = str.substring(0, str.length - 1); 
      console.log(str); 

어떻게 자리 (안 문자열)을 위해 그것을 할 수 있습니까?

+1

당신은 둥근 싶지 않아? –

+0

문자열로 변환 할 수 있다면 문자열로 변환보다 – edi9999

+1

문자열로 잘못 되었습니까? 문자열을 자르면 원하는 것을 정확하게 얻을 수 있습니다. 숫자 작업 만 필요한 이유가 무엇입니까? –

답변

0
output= parseInt(input*1000)/1000 

어떻게 작동합니까?

parseInt (input * 1000)는 10 진수 다음 세 번째 이후의 모든 num을 제거합니다.

0

당신은 다음과 같은 toFixed()을 사용하여 진수를 표시 할 수 있습니다

parseFloat(2121.1124).toFixed(3)

2121.112

+0

'parseFloat()'는 여기서 불필요합니다. – JJJ

+0

네,하지만 parseFloat를 사용하는 것이 좋습니다. 변수가 문자열 값을 보유하고 있어도 작동합니다. – Vinoth

+0

@Vinoth 이미 float 인 경우 아닙니다. 'var foo = String (String (String (String (String ('foo')))))'그냥 어리 석다. – h2ooooooo

5

사용 number.toFixed(amountOfDecimals); 반올림 돌아갑니다, amountOfDecimals는 반올림을 방지하기 위해 사용 Math.floor(number * Math.pow(10, amountOfDecimals))/Math.pow(10, amountOfDecimals); 3.

입니다. 따라서 소수 자릿수 3 자리 숫자는 Math.floor(2121.1124 * 1000)/1000;

어느 것이 필요한지 잘 모릅니다.

편집 된은 아래의 제안을 반영합니다.

+2

(마지막 부분의 '1000'은'Math.pow (10, amountOfDecimals) '의 결과입니다. 추가 할 때마다 10 진수가 추가됩니다). – h2ooooooo

관련 문제