我正在使用 Silverlight 图表来显示包含非常大数字的数据。
像“36000000000000”这样的轴上的标签并不是特别好。如何将它们格式化为像“3.6 x 10^13”这样的指数?
我正在使用 Silverlight 图表来显示包含非常大数字的数据。
像“36000000000000”这样的轴上的标签并不是特别好。如何将它们格式化为像“3.6 x 10^13”这样的指数?
你想要的是一个数字字符串格式,它将接受一个数字并输出你想要的格式的字符串。
以下是 .NET 中内置的一些基本数字字符串格式的列表:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
因此,例如,您可以使用以下代码将大数字转换为压缩格式:
long bigNum = 36000000000000;
string displayString = bigNum.ToString("e0");
如果您使用绑定,则可以在 XAML 中使用这些权限,方法是创建 IValueConverter 对象来执行自定义转换,或者在绑定本身上使用 StringFormat。您可能必须发布有关图表实施的更多详细信息,以确定如何创建用于显示轴标签的模板。
所以基本上你可能有两个不同的问题需要解决:
查找或创建一个字符串格式提供程序,它可以将您的数字格式化为您想要的字符串。
自定义图表控件上的标签。
因此,让我们知道您需要帮助(或两者)是哪个问题,并为您的图表发布代码。