经过测试发现这个是和系统语言有关,如果直接使用{0:C}进行转换时会跟系统语言有关,中文则显示人民币,老美就是美元。
那么在使用时,直接增加区域配置:string.Format(new System.Globalization.CultureInfo("en-US"),"{0:C}",123.12)
其它解决办法:
1、通过系统语言
区域和语言选项,找到英语(美国)设置
2、代码配置
int i = 125545.12;
CultureInfo c = new CultureInfo(0x0409);
string str = i.ToString("C", c);
//或:
CultureInfo c = new CultureInfo("en-US");
string str = i.ToString("C", c);