protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string str = "555.0022";
Response.Write(str.Substring(str.LastIndexOf('.'),str.Length));
}
}Response.Write(str.Substring(str.LastIndexOf('.'),str.Length)); 按照我们编程的计算长度来说绝对有问题的。str.Length长度范围超过。但是在VS2008中第一次运行出结果显示是.0022如果你刷新下页面就会出现索引和长度必须引用该字符串内的位置。
这是为何,是VS的问题么?还是别的问题。JavaScript中也可以写成var str="555.0022";alert(str.substring(str.lastIndexOf('.')));最后弹出的也是.0022知道答案的高手来解答下。
{
if (!IsPostBack)
{
string str = "555.0022";
Response.Write(str.Substring(str.LastIndexOf('.'),str.Length));
}
}Response.Write(str.Substring(str.LastIndexOf('.'),str.Length)); 按照我们编程的计算长度来说绝对有问题的。str.Length长度范围超过。但是在VS2008中第一次运行出结果显示是.0022如果你刷新下页面就会出现索引和长度必须引用该字符串内的位置。
这是为何,是VS的问题么?还是别的问题。JavaScript中也可以写成var str="555.0022";alert(str.substring(str.lastIndexOf('.')));最后弹出的也是.0022知道答案的高手来解答下。
解决方案 »
- There is no row at position 0.盼望过路大虾搭救!
- 怎么在dll运算的进程中,在主界面显示进度条。
- 一段代码实在看不出有什么问题!
- 请大侠们帮帮们!!读取数据库图片后,对图像进行显示特效!
- C# 用户控件透明的问题
- 郁闷呀~~为什么HttpWebRequest下载一个图形验证码会无效
- 一个页面中的数据传递问题
- update select delete insert根据build命令自动生成SQL命令
- 请给个从access读出数据,然后显示到datagrid的例子?
- 我是C#初学者,请教一个很简单的问题
- GetContext的奇怪问题
- DATAGRIDVIEW成功加载数据时 label消失
如果你要的结果是0022:
string ret = str.Substring(str.LastIndexOf('.') + 1);
如果你要的结果是.0022:
string ret = str.Substring(str.LastIndexOf('.'));
string str = "555.0022";
Console.WriteLine(str.Substring(str.LastIndexOf('.'), str.Length));
Unhandled Exception: System.ArgumentOutOfRangeException: Index and length must refer to a location w
ithin the string.
Parameter name: length
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) at System.String.Substring(Int32 startIndex, Int32 length)
得到.0022
不要后面的str.Length
这个本身就有问题,Substring(0,1),从0位置开始截取1长度的字符串,从str.LastIndexOf('.')位置开始到字符串的尾部的长度怎么可能有str的全长那么多!
str.Substring(str.LastIndexOf('.'));
就可以达到楼主的目的了
string ret = str.Substring(str.LastIndexOf('.') + 1);