货币Xamarin iOS中的小数位错误

问题描述

我有一个标签,将金额的总和显示为货币:

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");

将金额提取为字符串(通过api调用)并转换为十进制。

显示文字与我的Android手机中预期的一样,还有两部手机(我们都在同一个国家/地区)。例如: 123.45美元。 但有人抱怨有人得到这样的总计 $ 12.345

我当时在想这与文化有关,但是小数点在错误的位置是没有意义的。我唯一知道的是此错误正在iPhone X中显示

是否有发生这种情况的原因?它与语言环境文化有关还是...?

解决方法

在转换双精度ToString时,请确保使用CultureInfohttps://docs.microsoft.com/en-us/dotnet/api/system.double.tostring?view=netcore-3.1