midas+son의 크리에이티브(creative) 이야기

부동소수점 float을 언리얼의 sting인 FString으로 바꾸거나 

그 반대일 경우... 1시간 동안 주의 사항을 공유하고자 한다.


float to FString을 하는 방법은 아래의 2가지

1. FString::Printf(TEXT("%f"), float변수));

2. FString::SanitizeFloat(float변수);

이는 -123.456L"-123.456"으로 정상적으로 바꾸어 준다.


FString을 float으로 바꾸는 방법은 언리얼 공식 doc에는

FCString::Atof(*strb); 라고 되어있으나 이는 결과가 0.0으로 변환된다.

그 이유는 앞 뒤에 "(쌍따옴표)가 포함되어있기 때문이다.


그래서 정상적으로 FString to float하는 방법은 아래의 2가지이다.

1. FCString::Atof(*FString변수.TrimQuotes());

2. TCString<wchar_t>::Atof(*FString변수.TrimQuotes());

둘 다 동일한 결과로 L"-123.456"값을 정상적으로 float 값인 -123.456로 바꾸어준다.

FString의 TrimQuotes()함수가 앞뒤의 "(쌍따옴표)를 제거해주는 함수이다.