Jam*_*mes 1 asp.net-mvc culture localization asp.net-mvc-3
我想在我的网站上显示多种语言和UI文化.我启用了IIS 7标志,它自动从浏览器中获取文化,如下所示:
<globalization
enableClientBasedCulture="true"
culture="en-GB"
uiCulture="auto:en"/>
Run Code Online (Sandbox Code Playgroud)
这非常有效,因为加载了正确的Resources文件,并显示正确的文化(GB为0.00; DE为0,00).
然而,这有一个意外的干扰我的外部服务的问题,例如这里是与PayPal接口的代码.
var paymentDetails = new PaymentDetailsType
{
ItemTotal = new BasicAmountType
{
currencyID = currencyCode,
Value = basket.SubTotal.ToString("0.00")
},
...
}
Run Code Online (Sandbox Code Playgroud)
这段代码基本上创建了一个像这样格式化的字符串'50.25',但是当PayPal总是需要点小数点时,当选择具有逗号作为小数点(例如DE - 德语)的文化时,ToString("0.00")生成'50,25'因此我的代码失败.
什么是纠正这个的最佳方法?我仍然希望将文化设置为用户的文化,但是我想设置我的代码的某些部分以使用我自己的文化.
我知道我可以用特定的文化来养活这种ToString()方法,但这看起来非常苛刻.更专业的清洁方法?
Value = basket.SubTotal.ToString("0.00", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)
这是ToString()重载的链接,它带有第二个System.IFormatProvider参数:http: //msdn.microsoft.com/en-us/library/d8ztz0sa.aspx
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |