如何在C#中改变一个数字的文化?

aro*_*ron 2 c# asp.net string culture currentculture

我正在向paypal发送参数作为隐藏形式的变量.

但我的网站文化是丹麦语.所以"50,00"是"amount_1"的值

<input type="hidden" name="amount_1" value="50,00" />
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码将50转换为"50,00"

item.PricePaid.ToString("#.00")
Run Code Online (Sandbox Code Playgroud)

我相信这个数字应该是这样的:"1234.56"有没有办法在这个过程中将文化设置为en-US?(不是宽边)还是更好的方法呢?

谢谢!

Luk*_*keH 9

你可以使用重载的ToString接受一个IFormatProvider,然后用GetCultureInfo在需要的文化信息传递:

item.PricePaid.ToString("#.00", CultureInfo.GetCultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)

或者,您可以(可能)指定不变文化而不是"en-US":

item.PricePaid.ToString("#.00", CultureInfo.InvarianCulture);
Run Code Online (Sandbox Code Playgroud)