在visualc#中转换逗号中的点

本文关键字:转换 visualc# | 更新日期: 2023-09-27 17:50:48

我在Visual c#编程计算器时遇到了一个问题。我想做一个自动转换,当我写在文本框,在执行期间,"。(点)中的","(逗号)。我写的这些转换代码不能正常工作:

string s = textBox1.Text;
       int nr = s.Length;
       char[] a = s.ToCharArray();
        for (int i=1; i<=nr; i++)
        {
            if (a[i] == '.')
                a[i] = ',';
        }

这里应该纠正什么?提前谢谢。

注:我很抱歉,如果这里已经存在这种线程,我找不到这样的东西。

在visualc#中转换逗号中的点

试试这个:

tbTest.KeyUp += ((o, e) =>
            {
                switch (e.Key)
                {
                    case Key.OemPeriod:
                        #if DEBUG
                        System.Diagnostics.Debug.WriteLine("Period pressed");
                        #endif
                        var tb = (TextBox)o;
                        tb.Text = tb.Text.Replace(".", ","); //Replace period with comma
                        tb.Select(tb.Text.Length, 0);
                        break;
                }
            });
private void TextBox1_KeyPress(System.Object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
        if (e.KeyChar == '.') {
            e.KeyChar = ',';
        }
    }