【问题标题】:Set global cultureinfo for decimal values为十进制值设置全局cultureinfo
【发布时间】:2018-12-06 14:24:31
【问题描述】:

如何为所有十进制值全局设置 CultureInfo。

取一位小数

15.00

我们可以使用 DecimalValue.ToString("C", new CultureInfo("en-GB"))

这样它将转换为该文化和输出是

15.00 欧元

但问题是我能否为项目中显示的所有十进制值设置文化信息

【问题讨论】:

标签: xamarin.forms decimal globalization cultureinfo culture


【解决方案1】:

您更好的方法是为十进制值声明一个转换器,并在需要显示值的任何地方使用它。

首先编写转换器:

public class DecimalConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == null)
                return "0";
            decimal decimalValue = (decimal)value;
            return decimalValue.ToString("C", new CultureInfo("en-GB"))
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

然后,在您的 App.xaml.cs 中,在 ResourceDictionary 中声明它以在您的应用程序中使用它

现在,在您的页面中,无论您在哪里绑定十进制值,您都可以像这样使用它:

   <Label Text="{Binding YourDecimalValue, Converter={StaticResource DecimalConverter}}"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    相关资源
    最近更新 更多