NumberFormatter - 범위가 지정됨, 전역
NumberFormatter API에는 현재 사용자의 언어에 따라 형식이 지정된 숫자를 반환하는 메서드가 포함되어 있습니다.
이 API는 범위가 지정된 앱과 전역 앱에서 사용할 수 있으며 sn_i18n 네임스페이스에서 실행됩니다.
언어 또는 로캘별로 서식을 지정하면 사용자가 예상대로 숫자를 볼 수 있습니다. 예를 들어 로캘이 fr(프랑스어)인 경우 100.00으로 제공된 값은 100,00으로 반환됩니다.
NumberFormatter – format(숫자 숫자)
현재 사용자의 언어 설정에 따라 형식이 지정된 숫자의 문자열 표현을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 번호 | 번호 | 모든 크기의 수입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 현재 사용자의 언어 설정에 따라 서식이 지정된 번호입니다. |
다음 예제에서는 언어가 스페인어로 설정된 사용자에 대한 반환 결과를 보여 줍니다.
gs.info("Number is: " + sn_i18n.NumberFormatter.format(123456.789));
gs.info("Number is: " + sn_i18n.NumberFormatter.format(-123456.789));
출력:
Number is: 123.456,789
Number is: -123.456,789
NumberFormatter – formatLang(숫자 숫자, 문자열 언어)
매개변수로 전달된 언어에 따라 형식이 지정된 숫자의 문자열 표현을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 번호 | 번호 | 모든 크기의 수입니다. |
| 언어 | 문자열 | IETF BCP-47을 준수하는 언어 태그입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 매개변수로 전달된 언어에 따라 형식이 지정된 숫자입니다. |
다음 예제에서는 독일어 설정에 대한 출력을 보여 줍니다.
gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(123456.789, "de-de"));
gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(-123456.789, "de-de"));
출력:
Number is: 123.456,789
Number is: -123.456,789
NumberFormatter - parseWithLocale(문자열 번호, 문자열 언어, 문자열 국가)
숫자 값을 추출하기 위해 왼쪽에서 오른쪽으로 트래버스하여 전달된 텍스트 문자열에서 숫자를 구문 분석합니다. 그런 다음 전달된 국가 및 언어 코드를 사용하여 번호의 로캘을 식별하고 구문 분석된 번호를 해당 형식으로 반환합니다.
이 메서드는 숫자 값이나 통화 구분 기호로 인식할 수 없는 문자에 도달할 때까지 문자열을 구문 분석합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 번호 | 문자열 | 구문 분석할 문자열입니다. 이 문자열에는 숫자 값과 통화 구분 기호(예: 쉼표 및 소수점)가 포함될 수 있습니다. 예: "24,506.55" 또는 "45.677,89". |
| 언어 | 문자열 | 2자리 ISO-639 언어 코드입니다. |
| 국가 | 문자열 | 2자리 ISO-3166 국가 코드. |
| 유형 | 설명 |
|---|---|
| 번호 | 지정된 로캘 형식으로 구문 분석된 번호입니다. 문자열의 첫 번째 문자를 구문 분석할 수 없는 경우 예외를 throw합니다. 예:
|
다음 코드 예제에서는 다양한 로캘에 대한 문자열을 구문 분석하고 예기치 않은 구분 기호가 있는 문자열을 구문 분석하는 방법을 보여 줍니다. 마지막 예제에서는 공백이 유효한 구분 기호가 아니기 때문에 문자열을 부분적으로만 구문 분석합니다.
var x = sn_i18n.NumberFormatter.parseWithLocale("48,837.77", "en", "US");
var y = sn_i18n.NumberFormatter.parseWithLocale("77.931,22", "de", "DE");
var z = sn_i18n.NumberFormatter.parseWithLocale("562 339,89", "fr", "FR");
var specialCase = sn_i18n.NumberFormatter.parseWithLocale("400 797,67", "en", "US");
gs.info(x);
gs.info(y);
gs.info(z);
gs.info(specialCase);
출력:
48837.77
77931.22
562339.89
400
NumberFormatter - parseWithSeparators(문자열 번호, 문자열 groupingSeparator, 문자열 decimalSeparator)
구문 분석할 수 없는 문자를 만날 때까지 왼쪽에서 오른쪽으로 트래버스하면서 전달된 텍스트 문자열에서 숫자를 구문 분석하고 반환합니다. 구문 분석 가능한 값에는 숫자와 지정된 그룹화 및 소수 구분 기호가 포함됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 번호 | 문자열 | 구문 분석할 문자열입니다. 이 문자열에는 숫자 값과 지정된 구분 기호(예: 쉼표 및 소수점)가 포함될 수 있습니다. 예: "24,506.55" 또는 "45.677,89". |
| groupingSeparator | 문자열 | 전달된 문자열 내에서 그룹화 구분 기호(천 단위 구분 기호라고도 함)를 나타내는 문자입니다. 예: 쉼표 ",", 마침표 "." 또는 공백 " ". |
| decimalSeparator | 문자열 | 전달된 문자열 내의 소수 구분 기호를 나타내는 문자입니다. 예: 쉼표 ",", 마침표 "." 또는 공백 " ". |
| 유형 | 설명 |
|---|---|
| 번호 | 구문 분석된 번호입니다. 문자열의 첫 번째 문자를 구문 분석할 수 없는 경우 예외를 throw합니다. 예:
|
다음 코드 예제에서는 다양한 구분 기호를 사용하여 숫자를 구문 분석하는 방법을 보여 줍니다. 마지막 구문 분석 예제는 공백이 유효한 구분 기호가 아니기 때문에 숫자의 처음 세 자리 숫자만 구문 분석합니다.
var x = sn_i18n.NumberFormatter.parseWithSeparators('48,837.77', ',', '.');
var y = sn_i18n.NumberFormatter.parseWithSeparators('77.931,22', '.', ',');
var z = sn_i18n.NumberFormatter.parseWithSeparators('562 339,89', ' ', ',');
var specialCase = sn_i18n.NumberFormatter.parseWithSeparators('400 797,67', '.', ',');
gs.info(x);
gs.info(y);
gs.info(z);
gs.info(specialCase);
출력:
48837.77
77931.22
562339.89
400