public string ComputeFloatNumber(string FloatNumber, int percision) { int length = FloatNumber.Length; int index = FloatNumber.IndexOf('.'); bool flag = true; if ((length > 0) && (FloatNumber[0] == '-')) { FloatNumber = FloatNumber.Substring(1, length - 1); length = FloatNumber.Length; index = FloatNumber.IndexOf('.'); flag = false; } if (index == -1) { percision = length; } else if (index > percision) { percision = index + 1; } if (length > percision) { FloatNumber = FloatNumber.Substring(0, percision + 1); length = FloatNumber.Length; decimal mSource = Tool.ObjectToDecimal(FloatNumber); int num4 = (length - index) - 2; if (num4 < 0) { num4 = 0; } decimal num5 = this.RoundedDecimal(mSource, (double)num4); if (!flag) { return("-" + num5.ToString()); } return(num5.ToString()); } if (index != -1) { int num6 = 0; num6 = index + 1; while (num6 < length) { if (FloatNumber[num6] != '0') { break; } num6++; } if (num6 == length) { FloatNumber = FloatNumber.Substring(0, index); } } if (!flag) { return("-" + FloatNumber); } return(FloatNumber); }