You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在.NET 8中RegionInfo返回THB而非฿作为货币符号的问题

.NET 8中RegionInfo获取泰国货币符号返回THB而非฿的问题

在.NET 8环境下,使用RegionInfo类传入区域代码"TH"获取泰国货币符号时,CurrencySymbol属性返回的是"THB",而非预期的泰铢符号"฿"。测试代码如下:

Console.OutputEncoding = System.Text.Encoding.UTF8;

// Displays the property values of the RegionInfo for "TH".
RegionInfo myRI1 = new RegionInfo( "TH" );
Console.WriteLine( "   Name:                         {0}", myRI1.Name );
Console.WriteLine( "   DisplayName:                  {0}", myRI1.DisplayName );
Console.WriteLine( "   EnglishName:                  {0}", myRI1.EnglishName );
Console.WriteLine( "   IsMetric:                     {0}", myRI1.IsMetric );
Console.WriteLine( "   ThreeLetterISORegionName:     {0}", myRI1.ThreeLetterISORegionName );
Console.WriteLine( "   ThreeLetterWindowsRegionName: {0}", myRI1.ThreeLetterWindowsRegionName );
Console.WriteLine( "   TwoLetterISORegionName:       {0}", myRI1.TwoLetterISORegionName );
Console.WriteLine( "   CurrencySymbol:               {0}", myRI1.CurrencySymbol );
Console.WriteLine( "   ISOCurrencySymbol:            {0}", myRI1.ISOCurrencySymbol );
Console.WriteLine();

问题原因

直接使用两字母区域代码(如"TH")构造RegionInfo时,该类会依赖当前线程的文化设置返回区域相关信息。若当前文化并非泰语(泰国)文化(th-TH),CurrencySymbol会默认返回ISO货币代码"THB",而非本地货币符号"฿"。

解决方法

方法1:使用泰语文化代码构造RegionInfo

传入完整的泰语(泰国)文化代码"th-TH"创建RegionInfo实例,即可正确获取"฿"符号:

Console.OutputEncoding = System.Text.Encoding.UTF8;
RegionInfo myRI1 = new RegionInfo("th-TH");
Console.WriteLine("   CurrencySymbol:               {0}", myRI1.CurrencySymbol); // 输出 ฿

方法2:通过CultureInfo获取货币符号

借助CultureInfo类的NumberFormat.CurrencySymbol属性,直接获取指定文化下的货币符号:

Console.OutputEncoding = System.Text.Encoding.UTF8;
var thaiCulture = CultureInfo.GetCultureInfo("th-TH");
Console.WriteLine("   CurrencySymbol:               {0}", thaiCulture.NumberFormat.CurrencySymbol); // 输出 ฿

内容的提问来源于stack exchange,提问作者FireFly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:17:41