UE4 C++ FString FText FName之间的相互转化

FString
FName
FText
最常见的是 FString 类型,FName 和 FText 属于不可变字符串,一经创建其中的内容就无法改变。FString 属于可变字符串,可以对其常规的字符串操作,如分片,大小写转换等操作,编程时使用较多的也是它。三者之间可以进行相互转换。

FName 不区分大小写,主要用于标识资源路径,它的优点就是查找和访问速度快,在游戏开发过程中,如果可以确定字符串是固定不变的数据,如资源路径,或者数据表格原始数据,且无需考虑文本国际化的时候,建议使用FName进行创建。

FText 主要用于文本本地化[4]。如今游戏出海已经成为一种趋势,当你的游戏需要支持不止一种语言时,就需要考虑文本本地化,建议最初时就作出这样设定。文本本地化是一项比较复杂的内容,会单独抽出章节讲解,现在需要需要记住的是,当字符串需要显示给玩家时,使用FText比较合适。
那么三者之间如何进行转化:

//创建一个Fstring
	FString MyString = FString(TEXT("I am String"));

	//FString转化成FNmae
	FName MyName;
	MyName = FName(*MyString);
	//FString转化成FText
	FText MyText ;
	MyText = FText::FromString(MyString);

	//FName转化成FString
	MyString = MyName.ToString();
	//FName转化成FText
	MyText = FText::FromName(MyName);

	//FText转化成FString,不存在FText转化成FName
	MyString = MyText.ToString();

	//float转化成Fstring
	float MyFloat = 10.0f;
	FString::SanitizeFloat(MyFloat);
	//将整型转化成FString
	int32 MyInt = 32;
	FString::FromInt(MyInt);
	//将bool转化成FString
	bool inbool;
	inbool ? TEXT("True") : TEXT("false");

官方文档参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞起的猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值