关于C#的一个简单问题
int commapos=input.Indexof(',');double param1 = Convert.ToDouble(input.Substring(commapos+1,input.Length-commapos-1));
这段代码是什么意思,一直没搞明白,我知道很简单,但是个人愚钝,求好心人耐心讲解
答案:总的意思:截取字符串的部分,并把它转换成数字。
1. int commapos=input.Indexof(',');
这句话的意思是:查找输入的字符串(input)中"."的位置,并把位置赋值给commapos这个变量。
举个例子来说,如果input="text.text'; 那么commapos=4;
2. double param1 = Convert.ToDouble(input.Substring(commapos+1,input.Length-commapos-1));
在这句话中,用input.Substring方法截取input的字符串,截取的位置是从"."号后第一个字符开始,input.Length-commapos-1个字符。然后再把截取的这段字符转换成double类型。
举个例子来说,假设input="test.123";那么input.Substring(commapos+1,input.Length-commapos-1)=“123”;即param1=123;
关于这两句话,实际上用到了两个在字符串中常用的函数
1. IndexOf
用于查找指定字符的位置
2. SubString
用于截取字符串
更具题的你可以在百度上搜这两个函数,非常多的解释。也很好用。
有问题再call我把
input是一个字符串。IndexOf(',');是获得','的位置。
Convert.ToDouble(input.Substring(commapos+1,input.Length-commapos-1));的意思是将input从逗号开始的那个字母开始,到字符串的结尾这一段截取,将其转换为Double类型的数据。
如:
string input = "123,478";
int commapos = input.IndexOf(',');
double param1 = Convert.ToDouble(input.Substring(commapos + 1, input.Length - commapos - 1));
Console.WriteLine("{0}",param1);
输出的就是478.
上一个:C#如何实现网上抓取小说
下一个:C#如何编写并调用DLL