2013-05-26 4 views
1

Globalize를 사용하여 적절한 현지화 번호를 자동으로 지정하려고합니다. 사용자가 숫자 값을 입력하면이를 읽으려면 Globalize가 필요하고 올바른 형식으로 구문 분석 한 다음 사용자가 입력 한 필드에 출력하십시오.형식 번호가 jQuery로 지정됩니다. Globalize

내가 지금처럼 시도했다 :

$(document).on('change','.format-me',function(){ 
    var value = $(this).val(); 
    Globalize.culture("en-US"); 
    console.log(Globalize.format(value)); 
}); 

을하지만 기록 된 숫자는 사용자가 입력 한 것과 정확히 같은 외모로는 작동하지 않습니다. Globalize가 필요에 따라 형식을 변경하지 않는 이유는 무엇입니까? 자동으로 값을 포맷

$(document).on('change','.check-float',function(){ 
    var value = $(this).val(); 
    $(this).spinner("value", value); 
}); 

당신이 그렇게 같은 회에 값을 할당 할 때 :

+0

왜 숫자를 세계화해야합니까? 사용자가 입력하는 데이터의 유형은 무엇입니까? 통화? 날짜? (내 정보를 위해서) – adaam

+1

각 문화권마다 간단한 부동 번호를 표시하는 다른 방법이 있기 때문에 좋습니다. 1,000 대 1,000입니다. 두 경우 모두 1000 개를 의미하지만 특정 문화권 (대부분 유럽)에서는 쉼표가 소수를 식별하므로 두 번째 단어는 하나로서 읽혀집니다. – ghego1

+0

좋아, 이제 알 겠어. 다행히 해결책을 찾았습니다! – adaam

답변

2

난 그냥 JQuery와 스피너를 사용하여, 내가하려고했던 것을 할 수있는 아주 간단한 방법이 있음을 깨달았다 따라서 스피너에 배정 된 문화에 따라!

+0

안녕하세요. 어떤 경우이 단원의 10 진수 형식을 해결할 수있는 단서가 있습니까? http://stackoverflow.com/questions/26996151/set-decimal-format-in-jquery-globalize –

9

로깅 된 숫자가 입력 된 것과 똑같이 보이는 이유는 문자열 인수로 Globalize.format()을 호출한다는 것입니다. Globalize.js (원래 jQuery Globalize라고 함)을 사용한다고 가정 할 때 문서화 된대로 인수를 반환합니다. 나중에 jQuery와 독립적으로 만든다. HTML에서 입력 컨트롤의 값은 문자열로 취해서 숫자로 처리하려면 어떻게 든 변환해야합니다.

이 컨텍스트에서는 Globalize.parseFloat()으로 구문 분석해야하며 로깅 할 때 예를 들어 다음과 같이 전달해야합니다. 형식 매개 변수 n2 (숫자에 대한 이후는, 기본 형식은 드물게 유용하다 i입니다 - Globalize.js의 함정 중 하나) : 그러나

$(document).on('change','.format-me',function(){ 
    var value = $(this).val(); 
    Globalize.culture("en-US"); 
    var num = Globalize.parseFloat(value); 
    if(isNaN(num)) console.log('Parsing failed'); 
    console.log(Globalize.format(num, "n2")); 
}); 

, 나는 꽤 로깅에 지점을 볼 수 없습니다 번호는 현지화 된 형식으로 표시됩니다. 사용자는 현지화 된 형식으로 번호를 입력하지만 모든 처리 (클라이언트 측 또는 서버 측)의 경우 국제화 된 형식으로 저장해야합니다. 나중에 일부 결과를 사용자에게 표시 할 때 지역화 된 형식을 사용할 수 있습니다.

+0

긴 설명을 보내 주셔서 감사합니다. 매우 도움이됩니다. 당신은 로컬 라이즈 된 버전을 로깅하는 것에 대해 절대적으로 옳았습니다. 어떻게 작동하는지 이해하려고 했었는데, 로컬 화 된 문자열을 실제로 사용하면 로그 출력이되지 않을 것입니다. – ghego1