当前位置: 代码迷 >> ASP.NET >> 截取小数点后几位的代码有点不懂,该怎么处理
  详细解决方案

截取小数点后几位的代码有点不懂,该怎么处理

热度:653   发布时间:2013-02-25 00:00:00.0
截取小数点后几位的代码有点不懂
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
  相关解决方案