问题描述
List<decimal> dataAmounts = App.DashboardModel.Amounts.Where(o => Convert.ToDecimal(o.Amount) >= 0).Select(o => Convert.ToDecimal(o.Amount)).ToList();
lblPagoMinimo.Text = dataAmounts.Sum().ToString("C");
它显示的文字与我的Android手机中预期的一样,还有两部手机(我们都在同一个国家/地区)。例如: 123.45美元。 但有人抱怨有人得到这样的总计 $ 12.345
我当时在想这与文化有关,但是小数点在错误的位置是没有意义的。我唯一知道的是此错误正在iPhone X中显示。
是否有发生这种情况的原因?它与语言环境文化有关还是...?
解决方法
在转换双精度ToString时,请确保使用CultureInfo
。
https://docs.microsoft.com/en-us/dotnet/api/system.double.tostring?view=netcore-3.1