当前位置:编程学习 > C#/ASP.NET >>

关于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

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,