最简单的解决方案是将数字除以1,000,000,然后使用标准货币格式显示。这会给你本地化的货币 - 但而不是,并表明这是几百万美元/磅/欧元。
一个更好的解决方案是编写一个自定义转换器,该转换器将执行一百万次除法选择正确的货币符号,然后附加一个“m”(或您决定的任何符号)来表示这是数百万。
public class MillionsConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (value/1000000M).ToString("C2") + " m";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
在XAML
然后:
<ResourceDictionary>
<Converters:MillionsConverter x:Key="MillionsConverter " />
</ResourceDictionary>
<TextBlock Text="{Binding Value, Converter={StaticResource MillionsConverter}" />
这将输出:
$2.7米
显然,您需要调整转换器得到确切的你想要的格式。
http://www.codeproject.com/Articles/11531/Money-DataType - 它其实是一个很好的数据类型,我已经有了很多成功! – 2012-04-25 10:51:12