2017-11-14 1 views
1

Google 스프레드 시트 편집기를 사용하여 특정 소수 자릿수로 숫자 문자열의 서식을 지정하는 데 도움이되는 사용자 지정 함수를 만들려고합니다. 데이터를 차트로 표시 할 수 있도록 문자열을 숫자 형식으로 입력해야합니다.Google 스프레드 시트 스크립트 소수 자릿수 자리 표시

이 함수가 필요한 이유는 셀 내에 다른 소수 자리가있는 다른 숫자 집합을 표시하는 셀 내 드롭 다운이 있기 때문입니다. 따라서 스프레드 시트에서 고정 숫자 서식 설정에 의존 할 수 없습니다. 따라서 값이 ("데이터 없음"을 말할 것이다 차트) 차트에 사용할 수 없습니다

function format(amt) { return amt.toFixed(2); } 

에서는 toFixed()는 텍스트 문자열을 생성

이 내가 원하는 소수 자릿수를 반환하는 동안 ... . 나는 다음과 같은 대안을 시도

...

이 가
return parseFloat(amt); // var = number; can chart but cannot control decimal places 
return parseFloat(amt).toFixed(2); //var = string; cannot chart 
return parseInt(amt).toFixed(2); //var = string; cannot chart 

사람이 나에게로 keepign 동안 내가 원하는 소수 자릿수를 제어 할 수있는 사용자 정의 함수를 만들 수있는 방법이 있다면 알려 주시기 수 숫자 열?

답변

0
function format(x, n){ 
    x = parseFloat(x); 
    n = n || 2; 
    return parseFloat(x.toFixed(n)) 
} 

은 기본적으로 당신은에서는 toFixed() 메서드가 호출 된 후 값을 구문 분석 할 필요가 있지만 불리는에서는 toFixed() 메소드 전에 구문 분석하고 있습니다. 위의 기능으로

당신은

+0

감사합니다 n 소수점 이하 자릿수를 얻을 수 format(2, n)를 2 진수 장소를 얻을하거나 format(amt)을 말할 수있다! 방금 테스트 한 결과 대부분의 경우 작동합니다. x = 0.30이면 0.30 대신 0.3으로 표시됩니다. 어쨌든 "n"에 대해 0을 계속 유지합니까? –

+0

문자열로 다시 변환하지 않으면 가능하지 않다고 생각합니다. –

+0

단순히 숫자를 저장하고 표시되는 열에 문자열을 표시하기 위해 숨겨진 열을 만들어야하는 것처럼 보입니다. 다시 한 번 도움을 주셔서 감사합니다! –

관련 문제