2012-06-20 5 views
20

입력 된 값을 과학 표기법 (N x 10^a)으로 변환하는 함수를 만들고 싶습니다.숫자를 과학 표기법으로 변환하려면 어떻게해야합니까?

여러 가지 시도를 해봤지만 올바르게 이해할 수 없습니다.

예 :

내가 컨버터로 변환 (200)를 입력 2 × 10^2

+2

귀하가 시도한 것을 보여주십시오. –

+0

더 자세한 정보가 필요하십니까? 최대 유효 자릿수는 몇 자리입니까? 2,121,212 -> 2 x 10^6 또는 2.1 x 10^6 등? What 's "cut"은 내가 추측한다 – Sephallia

답변

50

이 같은 수행 할 수 있습니다

a = 200 
a.toExponential(); //output 2e+2 

바이올린 : http://jsfiddle.net/Q8avJ/9/

+1

와우, 나는 이것이 존재한다는 것을 모르고 있었다 :) –

+0

와우, 나는 이것도 존재한다는 것을 몰랐다. :) – Amadan

+1

굉장! 그러나 N x 10^a 형태로 그것을 만들 수있는 방법이 있습니까? 그래도 난 이걸로 할 수있어! – Samar

1

을 다음과 같이 기본 10 형식을 원한다면 :

, 미터이어서 × 10 N

이 같은 기능을 사용할 수

function writeScientificNum(p_num, p_precision) { 
    var n = Math.round(Math.log10(a)); 
    var m = (p_num * (Math.pow(10,Math.abs(n)))).toFixed(p_precision); 
    document.getElementById("outputTxt").innerHTML = m.toString() + ' x 10<sup>' + n.toString() + '</sup>'; 
} 

테스트 그것을 : http://jsfiddle.net/u1hd4zm9/

홀수 일이다 것을에서는 toFixed 방법 (에 최소한 크롬은 반올림하지 않고 아래로 반올림합니다. 예를 들어, 다음 코드를 실행하면

var test = 2.55; 
alert(test.toFixed(1)); 

예상대로 '2.5'가 인쇄됩니다. 그러나이 코드를 실행하는 경우 :

3이 인쇄됩니다.

관련 문제