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". |
| 언어 | 문자열 | 두 글자로 된 ISO-639 언어 코드입니다. |
| 국가 | 문자열 | 두 자로 된 ISO-3166 국가 코드입니다. |
| 유형 | 설명 |
|---|---|
| 번호 | 지정된 로캘 형식으로 구문 분석된 번호입니다. 문자열의 첫 번째 문자를 구문 분석할 수 없는 경우 예외가 발생합니다. 예:
|
다음 코드 예제에서는 다양한 로캘에 대한 문자열을 구문 분석하고 예기치 않은 구분 기호를 사용하여 문자열을 구문 분석하는 방법을 보여 줍니다. 마지막 예제에서는 공백이 유효한 구분 기호가 아니기 때문에 문자열을 부분적으로만 구문 분석합니다.
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(String number, String groupingSeparator, String decimalSeparator)
구문 분석할 수 없는 문자를 발견할 때까지 전달된 텍스트 문자열에서 숫자를 구문 분석하고 왼쪽에서 오른쪽으로 반환합니다. 구문 분석 가능한 값에는 숫자와 지정된 그룹화 및 소수점 구분 기호가 포함됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 번호 | 문자열 | 구문 분석할 문자열입니다. 이 문자열에는 숫자 값과 쉼표 및 소수점과 같은 지정된 구분 기호가 포함될 수 있습니다. 예: "24,506.55" 또는 "45.677,89". |
| groupingSeparator | 문자열 | 전달된 문자열 내에서 천단위 구분 기호라고도 하는 그룹화 구분 기호를 나타내는 문자입니다. 예: 쉼표 ",", 마침표 "." 또는 공백 " ". |
| decimalSeparator | 문자열 | 전달된 문자열 내의 소수점 구분 기호를 나타내는 문자입니다. 예: 쉼표 ",", 마침표 "." 또는 공백 " ". |
| 유형 | 설명 |
|---|---|
| 번호 | 구문 분석된 번호입니다. 문자열의 첫 번째 문자를 구문 분석할 수 없는 경우 예외가 발생합니다. 예:
|
다음 코드 예제에서는 다양한 구분 기호를 사용하여 숫자를 구문 분석하는 방법을 보여 줍니다. 마지막 구문 분석 예제에서는 공백이 유효한 구분 기호가 아니므로 숫자의 처음 세 자리만 구문 분석합니다.
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