为十进制值设置全局cultureinfo
Posted
技术标签:
【中文标题】为十进制值设置全局cultureinfo【英文标题】:Set global cultureinfo for decimal values 【发布时间】:2018-12-06 14:24:31 【问题描述】:如何为所有十进制值全局设置 CultureInfo。
取一位小数
15.00
我们可以使用
DecimalValue.ToString("C", new CultureInfo("en-GB"))
这样它将转换为该文化和输出是
15.00 欧元
但问题是我能否为项目中显示的所有十进制值设置文化信息?
【问题讨论】:
您可以考虑实现自定义值转换器 (docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/…) 并在演示文稿中处理该问题,例如: 【参考方案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"/>
【讨论】:
以上是关于为十进制值设置全局cultureinfo的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 $(document).ready(function()); 中为全局变量设置一个值吗?并在外面使用相同的变量? [关闭]