c#单个文本框中的多个值

时间:2015-07-20 07:16:01

标签: c# textbox return-value geography coordinate

在C#中,我想从单个文本框中获取多个值。我想开发一个应用程序,在其他投影系统中转换纬度和经度的地理坐标。例如:用户输入以下协调41°24'12.2“N。软件将分割并分配给a = 41; b = 24; c = 12.2;我提到b可以是01到59并且可以是用户选择两种形式的选择,如:41°05'12.2“N。或41°5'12.2“N。

谢谢

2 个答案:

答案 0 :(得分:2)

请阅读有关string.substring和string.indexof方法的更多信息。 有关C#中扩展方法的更通用外观。

在这里你拥有它: https://dotnetfiddle.net/J66V5a

答案 1 :(得分:0)

您可以使用文本框文本来解析数据,但请确保按以下方式过滤输入字符串:

if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != ':'|| e.KeyChar != '"' || e.KeyChar != '°' || e.KeyChar != ''')
{
         e.Handled = true;
}

将符号用作分隔符并将字符串拆分为3:

    string ss = "41°24'12.2" + '"' + "N";
    string[] values = new string[3];
    char[] separators = new char[3] { '°',Convert.ToChar(0x27),Convert.ToChar(0x22)};

    values = ss.Split(separators);

您需要的值位于"值"的前3个区块中。数组作为字符串。使用转化类(int a = Convert.ToInt32(values[0]);)来处理数据。