문자열 클래스간 변환
변환 형식 | 변환 방법 |
FName → FString | TestString = TestName.ToString(); |
FName → FText | TestText = FText::FromName(TestName); |
FString → FName | TestName = FName(*TestString); // 손실 위험 있음. FName이 대소문자 구분 없음 |
FString → FText | TestText = FText::FromString(TestString); |
FText → FString | TestString = TestText.ToString(); // 안전하지 않음. 언어 변환시 손실 위험 때문 |
FText → FName | FText → FString -> FName // 직접 변환 없음 // 손실 위험 있음 |
FString으로 변환
변환 형식 | 변환 방법 |
float → FString | FString::SanitizeFloat(FloatVariable); FString::printf(TEXT("%f", FloatVariable)); |
int → FString | FString::FromInt(IntVariable); |
bool → FString | InBool ? TEXT("true") : TEXT("false"); |
FVector → FString | VectorVariable.ToString(); |
FVector2D → FString | Vector2DVariable.ToString(); |
FRotator → FString | RotatorVariable.ToString(); |
FLinearColor → FString | LinearColorVariable.ToString(); |
UObject → FString | (InObj != NULL) ? InObj->GetName() : FString(TEXT("None")); |
기타 변환
변환 형식 | 변환 방법 |
FString → float | float FloatVariable = FCString::Atof(*StringVariable); |
FString → int | int IntVariable = FCString::Atof(*StringVariable); |
std::string → FString | FString StringVariable(StdString.c_str()); |
FString → std::string | std::string StdString(TCHAR_TO_UTF8(*StringVariable)); |
Enum → FName | EMyState State = EMyState::Two; UEnum* StateEnum = FindObject<UEnum>(ANY_PACKAGE, TEXT("EMyState"), true); FName NameVariable = StateEnum->GetNameByValue(static_cast<int64>(State)); |
Enum → FString | EMyState State = EMyState::Two; UEnum* StateEnum = FindObject<UEnum>(ANY_PACKAGE, TEXT("EMyState"), true); |
'게임엔진 > Unreal' 카테고리의 다른 글
[Unreal] FTimerManager 타이머 설정 (0) | 2022.08.02 |
---|---|
[Unreal] 화면 정중앙 조준선 위치 기반 레이캐스트 (0) | 2022.08.01 |
[Unreal] FVector과 FRotator간 변환 (0) | 2022.07.31 |
[Unreal] C++ 버전 변경(C++ 20기능 사용) 방법과 모듈 (1) | 2022.07.24 |
[Unreal] 마우스 방향을 따라가는 총기 애니메이션 (Aim Offset) (0) | 2022.07.21 |