c#中,怎样同时把多行string转换为double

我的string会出现在textbox1中,可能是一行,也可能是多行,效果如下:{lat=-36.123456789,lng=174.123456789}或者{lat=-... 我的string会出现在textbox1中,可能是一行,也可能是多行,效果如下:
{lat=-36.123456789,lng=174.123456789}
或者
{lat=-36.123456789,lng=174.12342326789}
{lat=-36.124346789,lng=174.12334356789}
{lat=-36.12333329,lng=174.12342326789}
{lat=-36.123536789,lng=174.1674456789}
。。。 。。。
我现在用以下的程序可以做到把一行string转换为double,并显示在textbox2中:

string S1,S2,S = textBox1.Text;

string[] x = S.Split(new char[] { ',' });
string y = x[0].ToString();//{lat=-36.12333333
string z = x[1].ToString();//lng=174.333333
S1 = y.Substring(y.IndexOf('=')+1);
S2 = z.Substring(z.IndexOf('=') + 1, z.IndexOf('}') - 5);
double f1 = double.Parse(S1), f2 = double.Parse(S2);
textBox2.Text = f1.ToString()+" "+f2.ToString();

现在我想要一步把所有string同时转换,请问需要怎样做?
展开
 我来答
阳光的雷咩咩
推荐于2016-03-14 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7865万
展开全部
        //using System.Linq;
        //using System.Drawing;须添加引用
        static void Main(string[] args)
        {
            string s = @"{lat=-36.123456789,lng=174.12342326789} 
{lat=-36.124346789,lng=174.12334356789} 
{lat=-36.12333329,lng=174.12342326789} 
{lat=-36.123536789,lng=174.1674456789} ";
            var v = s.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(x => x.Replace("{lat=", "").Replace("lng=", "").Replace("}", ""))
           .Select(x => new
            {
                x,
                xs = x.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
            })
            .Select(x => new PointF(Convert.ToSingle(x.xs[0]), Convert.ToSingle(x.xs[1])));

            foreach (PointF p in v)
                Console.WriteLine("x={0},y={1}", p.X, p.Y);
            Console.ReadLine();
        }
追问
你好!
我这个程序用的是vs c#的winForm,你这个程序我看着不是那么熟悉啊。。。
我不是搞编程的,客串一下写个软件。小白莫怪,,,
追答
留联系给你瞧瞧。
百度网友a5eb3e1
2014-08-11 · TA获得超过4448个赞
知道大有可为答主
回答量:3486
采纳率:60%
帮助的人:2661万
展开全部
用循环就可以了。
追问
谢谢!可以具体说说嘛?不怎么会编程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ab...e@gmail.com
2014-08-11 · 超过31用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:57万
展开全部
protected void Button1_Click(object sender, EventArgs e)
{
string aa = TextBox1.Text;
for (int i = 0; i <= aa.Split().Length - 1; i++)
{
if (aa.Split()[i].ToString().Trim() != "")
{
GetValue(aa.Split()[i].ToString());
}
}

}
private void GetValue(string strValue )
{
string S1, S2, S = strValue;
string[] x = S.Split(new char[] { ',' });
string y = x[0].ToString();//{lat=-36.12333333
string z = x[1].ToString();//lng=174.333333
S1 = y.Substring(y.IndexOf('=')+1);
S2 = z.Substring(z.IndexOf('=') + 1, z.IndexOf('}') - 5);
double f1 = double.Parse(S1), f2 = double.Parse(S2);
TextBox2.Text += f1.ToString()+" "+f2.ToString() ;
}
更多追问追答
追问
谢谢回答!  我按照你的程序写了一下,会报错.主要是以下两个:
GetValue(aa.Split()[i].ToString());
string S1, S2, S = strValue;
报错说getvalue和strValue does not exist in current context.
请问如何应对? 还有就是你添加的button——1是起个什么功能?谢谢!
追答

我的画面

我的程式

 

所以我的做法就是在画面上拉2个TextBox,一个为输入TextBox,一个为显示的TextBox

然後Button1就是执行的按钮,按下Button1就会产出你要的需求

 

还有我写的webform,所以用在winform可能会有点差别就是了!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式