2012-06-09 1 views
2

I에 100 달러 그림 증식을 소요하고 문자열의 길이를 반환 gApps 스프레드 시트에서 함수 ...길이 앱

function checkWrite(amount) { 
amount = amount * 100 
amount = amount+''; 
var aLength = amount.length; 
return(aLength); 

반환 다음과 같은 결과를 제공했습니다 : 양 - 길이

제 3 ---- 4.01 - 3
4.02-18
4.03 - 3
4.04 - 3
4.05 - 3 0,123,903, 4.06-18

... 등등. 나는 많은 정답 3, 그리고 무작위로 잘못된 것들을 얻는다.

어떤 일이 벌어지고 있는지에 관해 밝혀 줄 사람이있을 수 있습니까? 필자는 코딩을 잘하지 못했지만 어쨌든 결과가 일관성을 유지해야한다고 확신합니다.

+0

Chrome에서 페이지를로드하십시오. WebInspector를로드하려면 F12 키를 누릅니다. 스크립트로 이동하여 해당 함수에 중단 점을 배치하고 값을 확인하십시오. –

답변

1

대부분 예상대로 숫자가 반올림되지 않습니다. 부동 소수점 값은 생각하는 것처럼 정확하게 표현되지 않습니다. 생성 된 문자열 표현을 반환해야하는지 확인합니다 (예 : 마지막 줄을 return aLength+' '+amount;으로 변경하십시오.

어쨌든, 그런 기능의 사용법은 무엇입니까? 내가 무엇을 사용하는지에 대한 아이디어가 있다면, 나는 대안을 제안 할 수있다.

+0

팁 주셔서 감사. 시도해 볼게. 이 비트는 오류가 발생한 위치를 테스트하기위한 것입니다. 그것은 스프레드 시트에서 달러 금액을 수표로 합병하기위한 금액으로 바꾼 기능을 만듭니다. 그래서 5.12는 5와 12/100으로 바뀝니다. 작동하지만이 결함에 대한. –

+0

정확히 말씀 드린대로 ... 몇 자리를 반환하고 있습니다 ... 소수점 이하 15 자리. –

+0

그러면 'amount = amount +' '대신에'amount = to.Fixed (0);'를 사용하십시오. BTW, 당신은 stackoverflow에 내가 처음부터 알기 때문에, 당신은 당신이 좋은 것을 얻었을 때 받아 들여지는 대답을 확인해야한다. –