截取小数点后几位的代码有点不懂,该怎么处理
截取小数点后几位的代码有点不懂C# codepublic string VarStr(string sString, int nLeng){int index sS
截取小数点后几位的代码有点不懂
C# codepublic 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