ax5ui / ax5ui-grid

Javascript UI Component - GRID ( Excel Grid, jqGrid, angularjs grid, jquery grid, SlickGrid, ag-grid gridify)
http://ax5.io/ax5ui-grid/demo/index.html
MIT License
99 stars 36 forks source link

아래 grid formatter money 버그 확인좀 부탁드립니다. #87

Open ohHyunJae opened 7 years ago

ohHyunJae commented 7 years ago

안녕하세요.

아래 grid formatter money 버그 관련하여 문의를 남겼었는데

제가 일이 있어서 어제 해당 내용을 확인을 하였습니다.

먼저 답변달아주신것에 감사드리며 테스트를 해봤는데 안되어서

디버깅을 해서 확인 결과 ax5core.js 내 number 함수를 호출을 하는데

그 함수 내에서 아래 내용 때문에 안되었던거 같네요.

isMinus = Number(pair[0]) < 0 || pair[0] == "-0", 를 체크하는 곳 중 오류

isMinus가 true면 -붙이고 아니면 -를 안 붙이는데

위 처럼 가정하였을 때 숫자가 4자리 이상이 되면 str 매개변수에 ,가 붙어 있는 상태로 오는데

이때 잘 아시겠지만.. Number(pair[0]) 함수의 결과가 Nan이 됩니다.

core쪽에서 number 함수를 다른 util에서 어떻게 사용하는지 몰라 일단 저는 임시방편으로 core쪽 소스 isMinus = Number(pair[0].replace(/,/g, "")) < 0 || pair[0] == "-0",로 수정을 하였는데 ( 콤마만 replace를 해주었죠.. )

확인해주시고 수정한 버전 올려주시면 감사하겠습니다.

thomasJang commented 7 years ago

버그 찾아주셔서 감사합니다. 다음에는 한번 풀리퀘 도전 해보시면 어떨까 생각듭니다.

ohHyunJae commented 7 years ago

안녕하세요 ㅎ 소스 수정해 주신점 감사드립니다.

하지만 여전히 문제가 하나 있는듯 보입니다.

변경해준 소스가 아래와 같이 있는데 var reInt = /[-|+]?[\D]/gi,

function number(str, cond) { ....

pair[0] = pair[0].replace(reInt, ""); // 여기서 숫자가 아닌값을 공백으로 변경해버리면 아래 isMunus는 무조건 false이 나오게 됩니다 ( 왜냐면 -도 숫자가 아니기에 공백처리가 되니까요 ) ) isMinus = Number(pair[0]) < 0 || pair[0] == "-0", returnValue = 0.0;

.... }

그래서 아래처럼 변경해야 주셔야 할거 같습니다.

var reInt = /[-|+]?[\D]/gi, reComma = /,/g,

function number(str, cond) { ....

isMinus = Number(pair[0].replace(reComma, "")) < 0 || pair[0] == "-0", returnValue = 0.0;
pair[0] = pair[0].replace(reInt, "");

.... }

pull requests는 추후에 도전해보도록 하겠습니다.. ㅎ;

확인해주시면 감사하겠습니다

ohHyunJae commented 7 years ago

수정해주셔서 감사합니다!