截取小数点后几位的代码有点不懂
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