- C# code
public string VarStr(string sString, int nLeng) { int index = sString.IndexOf("."); if (index == -1 || index + 2 >= sString.Length) return sString; else return sString.Substring(0, (index + nLeng + 1));//这句没有看明白 }
前面都看懂了是给出的sString的数没有小数或者小数位数小于nLeng时返回原值
假设sString=34.56789 , nLeng=2,解释一下else那句,谢谢
------解决方案--------------------------------------------------------
假设sString=34.56789 , nLeng=2 nLeng为小数点后保留几位
那么:int index = sString.IndexOf("."); //index=2
return sString.Substring(0, (index + nLeng + 1));//sString.Substring(0,5)=34.56
Substring的截取格式:参数1:开始索引位置 参数2:结束索引位置的前一个位置
所以要额外 +1