标签ValueFormat被忽略

时间:2014-11-17 17:34:04

标签: c# formatting teechart

如何将Steema TeeChart轴标签的小数分隔符更改为.而不是,

我检查了指出的教程:

  

标签格式您可以应用所有标准数字和日期格式   轴标签。 “轴”页面的“标签”部分包含“值”字段   格式“。如果您的数据是日期时间,则字段名称将更改为”日期时间   格式“。在运行时使用:

[C#.Net] tChart1.Axes.Bottom.Labels.ValueFormat = "#,##0.00;(#,##0.00)";

我试过这个,但是当我使用自定义ValueFormats时,它似乎被忽略了。例如,如果我使用C附加了货币,如果我使用0.#,我会得到一个小数,但分隔符仍为,

我可以听m_Chart.GetAxisLabel,我看到ValueFormat与我输入的相同,而e.LabelText0,00。然后,我可以将e.LabelText修改为“0.00”。但是,我更愿意使用格式说明符。

在显示数字时,是否可以更改图表的格式说明符以使用.而不是,

我正在做的一个简短例子:

public MainWindow()
{
    InitializeComponent();
    Line line = new Line();
    Random random = new Random();

    //line.Add(101, 1000);
    for (int i = 0; i < 100; i++)
    {
        line.Add(i, random.Next(100)/100.0f);
    }

    line.XValues.DateTime = false;
    m_Chart.Series.Add(line);

    m_Chart.Legend.Visible = false;
    m_Chart.Aspect.View3D = false;
    m_Chart.Axes.Left.Labels.ValueFormat = "# ##0.00";

    // I _can_ use this, but rather not.
    //m_Chart.GetAxisLabel += OnGetAxisLabel;
}

1 个答案:

答案 0 :(得分:0)

这看起来像是.NET Framework问题。您可以尝试设置NumberFormatInfo.NumberDecimalSeparator Property。例如,下面的代码适用于我。

  System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(System.Globalization.CultureInfo.InvariantCulture.Name, true);
  ci.NumberFormat.NumberDecimalSeparator = ".";
  System.Threading.Thread.CurrentThread.CurrentCulture = ci;
相关问题