FString::SanitizeFloat(floatValue);
FString::SanitizeFloat(GetOwner()->GetActorLocation().X)
FString::SanitizeFloat(GetOwner()->GetActorLocation().Y)
FString::SanitizeFloat(GetOwner()->GetActorLocation().Z)
For the beginners here, who have problems.
You can combine this for the UE_Log Marco output like this:
FString ObjectPos = " X:" + FString::SanitizeFloat(GetOwner()->GetActorLocation().X) + " Y:" + FString::SanitizeFloat(GetOwner()->GetActorLocation().Y) + " Z:" + FString::SanitizeFloat(GetOwner()->GetActorLocation().Z);
// Called when the game starts
void UPositionReport::BeginPlay()
{
Super::BeginPlay();
FString ObjectName = GetOwner()->GetName();
FString ObjectPos = " X:" + FString::SanitizeFloat(GetOwner()->GetActorLocation().X) +
" Y:" + FString::SanitizeFloat(GetOwner()->GetActorLocation().Y) +
" Z:" + FString::SanitizeFloat(GetOwner()->GetActorLocation().Z);
UE_LOG(LogTemp, Warning, TEXT("%s is at%s"), *ObjectName, *ObjectPos);
}