소수에서 정수로 변환하기
이 문서는 소수(decimal) 숫자를 정수(integer)로 변환하는 방법에 대해 설명합니다. 변환할 값을 제공하고, 해당 값을 정수로 변환하기 위해 사용할 반올림(rounding) 방법을 선택해야 합니다. 사용할 수 있는 반올림 방법은 다음과 같습니다:
|반올림 유형|설명|
|---|---|
|Round|소수 값을 가장 가까운 정수로 반올림합니다. 소수가 정확히 반(zero or half)일 경우(예: 1.5, 17.5, -2.5 등) 가장 가까운 짝수로 반올림합니다. 예를 들어 2.5는 2로, 3.5는 4로 반올림됩니다. 이 방법을 '은행가의 반올림(Banker's Rounding)'이라고 하며, 많은 반복이나 부동 소수점 수학을 사용할 때 통계적으로 더 나은 결과를 제공합니다.|
|Ceil|소수 값을 가장 가까운 정수로 올림합니다. 예를 들어, 5.0000001은 6으로 반올림됩니다. 랜덤 소수값을 생성한 후 이 작업을 사용할 때 예기치 않은 결과가 나올 수 있습니다. 랜덤으로 0이 생성되면 "Ceil"을 적용하면 1이 아니라 0이 되므로 예기치 않은 결과를 초래할 수 있습니다. 이 점을 유의해야 합니다.|
|Floor|소수 값을 가장 가까운 정수로 내림합니다. 예를 들어, 5.9999999는 5로 내림됩니다.|
반올림 유형을 선택한 후, 변환할 숫자를 제공하고 이 값을 저장할 대상을 설정해야 합니다. 대상 변수는 임시 로컬 변수로 설정할 수 있습니다.
## 작업 구문
### 인수
|인수|설명|
|---|---|
|Rounding|정수로 변환할 때 사용할 반올림 유형(위의 설명 참조)|
|Number|정수로 변환할 소수 값|
|Target|변환된 정수 값을 저장할 대상 변수|
## 예시
다음은 소수 값을 정수로 변환하고, 변환된 값을 임시 로컬 변수에 저장한 후, 해당 값을 문자열로 변환하여 화면에 출력하는 코드 블록입니다.
```gml
// 소수 값을 정수로 변환
var decimalValue = 5.7;
var targetInteger;
// Round를 사용하여 반올림
targetInteger = round(decimalValue);
// 정수 값을 문자열로 변환하여 출력
show_message(string(targetInteger));
이 코드는 5.7을 반올림하여 6으로 바꾼 후, 해당 값을 문자열로 변환하여 화면에 보여줍니다.
이 외에도 다양한 활용 방법이 있을 수 있습니다. 예를 들어, 게임에서 점수를 기록할 때 소수점을 없애고 정수로만 표시하는 경우에 유용할 수 있습니다.
결론
소수에서 정수로의 변환은 게임 개발 및 데이터 처리에 있어 중요한 기능입니다. 다양한 반올림 방법을 적절히 활용하여 원하는 결과를 얻을 수 있습니다.
© Copyright YoYo Games Ltd. 2021 All Rights Reserved ```