NumberFormatter - 범위가 지정됨, 전역
NumberFormatter API에는 현재 사용자의 언어에 따라 형식이 지정된 숫자를 반환하는 메서드가 포함되어 있습니다.
이 API는 범위가 지정된 앱과 전역 앱에서 사용할 수 있으며 sn_i18n 네임스페이스에서 실행됩니다.
언어 또는 로케일별로 서식이 지정되면 사용자는 예상대로 번호를 볼 수 있습니다. 예를 들어 로캘이 fr(프랑스어)인 경우 100.00으로 제공된 값은 100,00으로 반환됩니다.
NumberFormatter – format(Number number)
현재 사용자의 언어 설정에 따라 형식이 지정된 숫자의 문자열 표현을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 번호 | 번호 | 임의 크기의 번호입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 현재 사용자의 언어 설정에 따라 형식이 지정된 숫자입니다. |
다음 예제에서는 언어를 스페인어로 설정한 사용자에 대한 반환 결과를 보여 줍니다.
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)
구문 분석할 수 없는 문자를 만날 때까지 왼쪽에서 오른쪽으로 이동하면서 전달된 텍스트 문자열에서 숫자를 구문 분석하고 반환합니다. 구문 분석 가능한 값에는 숫자와 지정된 그룹화 및 10진수 구분 기호가 포함됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 번호 | 문자열 | 구문 분석할 문자열입니다. 이 문자열에는 숫자 값과 쉼표 및 소수점과 같은 지정된 구분 기호가 포함될 수 있습니다. 예: "24,506.55" 또는 "45.677,89". |
| groupingSeparator | 문자열 | 전달된 문자열 내에서 그룹화 구분 기호(천 단위 구분 기호라고도 함)를 나타내는 문자입니다. 예: 쉼표 ",", 마침표 "." 또는 공백 " ". |
| decimalSeparator | 문자열 | 전달된 문자열 내의 10진수 구분 기호를 나타내는 문자입니다. 예: 쉼표 ",", 마침표 "." 또는 공백 " ". |
| 유형 | 설명 |
|---|---|
| 번호 | 구문 분석된 번호입니다. 문자열의 첫 번째 문자를 구문 분석할 수 없는 경우 예외를 발생시킵니다. 예:
|
다음 코드 예제에서는 다양한 구분 기호를 사용하여 숫자를 구문 분석하는 방법을 보여 줍니다. 마지막 구문 분석 예제는 공백이 유효한 구분 기호가 아니므로 숫자의 처음 세 자리 만 구문 분석합니다.
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