我正在尝试创建图表轴标签 -- 物理文本。我知道如何获取标签并使用 GDI 打印它们,但我的算法在使用小数步打印时效果不佳。
要打印标签,我目前获取第一个标签,然后向后面的每个标签添加一个步骤:
public static void PrintLabels(double start, double end, double step);
{
double current = start;
while (current <= end)
{
gfx.DrawString(current.ToString(),...);
current += step;
}
}
是否有 number.ToString("something")
可以打印小数(如果有),否则只打印整个部分?我会首先检查开始、结束或步骤是否包含小数部分,然后如果是,则打印所有带小数的标签。
最佳答案
在此处查看自定义格式字符串:http://msdn.microsoft.com/en-us/library/0c899ak8.aspx 我想我理解你的问题......确实
current.ToString("#0.#");
给你你要求的行为?对于类似的标签,我经常使用 "#,##0.####"
。
另外,请参阅以下问题:Formatting numbers with significant figures in C#
关于c# - 打印有效数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3848076/