# 회계 서식

## Content

SpreadJS는 통화 값을 읽을 때 실수를 방지하기 위해 셀에 회계 서식을 지원합니다. 이 기능은 Excel과 동일한 방식으로 지원됩니다.
회계 서식은 열의 숫자에 대해 통화 기호 및 소수점을 정렬하여 가독성을 높여줍니다. 음수는 괄호로 표시되고, 0은 대시(–)로 표시됩니다.
다음 표는 회계 서식을 사용할 때 사용할 수 있는 회계 서식 문자 및 서식 문자를 설명합니다:

| **문자** | **설명** |
| --- | --- |
| \_ | 밑줄 문자 `_`를 사용하여 숫자 서식에서 문자의 너비만큼의 공백을 생성할 수 있습니다. <br>예: `_)`는 괄호로 묶인 음수와 양수를 정렬합니다. |
| \* | 별표 `*`는 다음 문자를 반복하여 열 너비를 채웁니다. 예: `0-*`는 숫자 뒤에 대시를 반복해서 셀을 채웁니다. <br>또는 `*0`을 포맷 앞에 사용하면 앞에 0을 채울 수 있습니다. |
| , | 쉼표는 숫자의 천 단위 구분자로 사용됩니다. 쉼표가 `#` 또는 `0` 사이에 있을 경우 천 단위 구분자가 적용됩니다. <br>쉼표가 자리 표시자 뒤에 오는 경우 숫자가 1,000 단위로 나뉘어 표시됩니다. <br>예: `#.0,,` 서식을 적용하고 `12,200,000`을 입력하면 `$12200.0`으로 표시됩니다. |
| % | 퍼센트 기호 `%`는 숫자를 100의 백분율로 표시합니다. 예: `.08`을 `8%`로 표시하려면 `%`를 사용합니다. |
| ? | `0`과 동일하게 동작하지만, Spread는 소수점 양쪽의 불필요한 0 자리에 공백을 추가합니다. |

다음은 회계 서식을 사용할 때 주의해야 할 사항입니다:

* 줄바꿈이 허용되고 셀에 여러 줄이 포함되어 있는 경우 반복 문자는 적용되지 않습니다.
* 셀이 텍스트 오버플로우를 지원하는 경우 반복 문자는 무시됩니다.
* 자동 맞춤 기능에서는 반복 문자가 사용되지 않습니다.
* 텍스트 맞춤 축소(shrink to fit)를 사용할 경우 반복 문자가 공백으로 변하지 않습니다.
* 공백 영역에는 텍스트 장식이 적용되지 않습니다.
* 회계 서식을 지원하는 셀 유형에는 다음이 포함됩니다: 텍스트 셀 유형, 버튼 셀 유형, 콤보박스 셀 유형, 헤더 셀 유형.

다음 코드 샘플은 [setValue](/spreadjs/api/v19/classes/GC.Spread.Sheets.Worksheet#setValue) 메서드를 사용하여 셀에 회계 서식을 설정하는 방법을 보여줍니다.

```javascript
var sheet = spread.getActiveSheet();
sheet.setValue(1, 0, 'Standard Accounting Format :  _($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)');
sheet.setValue(2, 0, 'Value');
sheet.setValue(3, 0, 12);
sheet.setValue(4, 0, -12);
sheet.setValue(5, 0, 0);
sheet.setValue(6, 0, 'Text');
sheet..setValue(2, 2, 'Formatted Result');
sheet.getRange(3, 2, 4, 1).formatter('_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)');
sheet.setValue(3, 2, 12);
sheet.setValue(4, 2, -12);
sheet.setValue(5, 2, 0);
sheet.setValue(6, 2, 'Text');
```

또는 아래 코드 샘플과 같이 [setFormatter](/spreadjs/api/v19/classes/GC.Spread.Sheets.Worksheet#setFormatter) 메서드를 사용할 수도 있습니다:

```javascript
var sheet = spread.getActiveSheet();
sheet.setValue(1, 2, 12.34);
sheet.setFormatter(1, 2, '$* #.##');
```