/// <summary> /// 去尾处理 /// </summary> /// <param name="originalNumber">原始数值</param> /// <param name="cutOffType">去尾类型</param> /// <param name="cutOffDigit">去尾位数</param> /// <returns>返回去尾后的数值</returns> public static Decimal HandleCutOff(decimal originalNumber, CutOffType cutOffType, int cutOffDigit) { //去尾处理后返回的数 decimal cutOffNumber = originalNumber; if (cutOffType == CutOffType.ROUND_OFF) { string strDigit = string.Empty; if (cutOffDigit == 0) { strDigit = "f0"; } else if (cutOffDigit == 1) { strDigit = "f1"; } else if (cutOffDigit == 2) { strDigit = "f2"; } if (string.IsNullOrEmpty(strDigit)) { cutOffNumber = Math.Round(originalNumber, cutOffDigit); } else { cutOffNumber = Convert.ToDecimal(originalNumber.ToString(strDigit)); } } else if (cutOffType == CutOffType.UNCONDITIONALLY_CARRY) { if (cutOffDigit == 0) { originalNumber = Round(originalNumber, 0); } else if (cutOffDigit == 1) { originalNumber = Round(originalNumber, 1); } else if (cutOffDigit == 2) { originalNumber = Round(originalNumber, 2); } } else if (cutOffType == CutOffType.UNCONDITIONALLY_ELIMINATED) { if (cutOffDigit == 0) { originalNumber = Convert.ToDecimal((int)originalNumber); } else if (cutOffDigit == 1) { string numeric = originalNumber.ToString("f2"); numeric = numeric.Substring(0, numeric.Length - 1); originalNumber = decimal.Parse(numeric); } else if (cutOffDigit == 2) { string numeric = originalNumber.ToString("f3"); numeric = numeric.Substring(0, numeric.Length - 1); originalNumber = decimal.Parse(numeric); } } return cutOffNumber; }
/// <summary> /// 去尾处理 /// </summary> /// <param name="originalNumber">原始数值</param> /// <param name="IsCutTail">是否去尾</param> /// <param name="cutTailType">去尾类别</param> /// <param name="cutTailDigit">去尾保留位数</param> /// <returns>返回去尾后的数值</returns> public static Decimal HandleCutOff(decimal originalNumber, bool IsCutTail, int cutTailType, int cutTailDigit) { //去尾处理后返回的数 if (IsCutTail) { CutOffType cutOffType = (CutOffType)cutTailType; if (cutOffType == CutOffType.ROUND_OFF) { string strDigit = string.Empty; if (cutTailDigit == 0) { strDigit = "f0"; } else if (cutTailDigit == 1) { strDigit = "f1"; } else if (cutTailDigit == 2) { strDigit = "f2"; } if (string.IsNullOrEmpty(strDigit)) { originalNumber = Math.Round(originalNumber, cutTailDigit); } else { originalNumber = Convert.ToDecimal(originalNumber.ToString(strDigit)); } } else if (cutOffType == CutOffType.UNCONDITIONALLY_CARRY) { if (cutTailDigit == 0) { originalNumber = Round(originalNumber, 0); } else if (cutTailDigit == 1) { originalNumber = Round(originalNumber, 1); } else if (cutTailDigit == 2) { originalNumber = Round(originalNumber, 2); } } else if (cutOffType == CutOffType.UNCONDITIONALLY_ELIMINATED) { if (cutTailDigit == 0) { originalNumber = Convert.ToDecimal((int)originalNumber); } else if (cutTailDigit == 1) { string numeric = originalNumber.ToString("f2"); numeric = numeric.Substring(0, numeric.Length - 1); originalNumber = decimal.Parse(numeric); } else if (cutTailDigit == 2) { string numeric = originalNumber.ToString("f3"); numeric = numeric.Substring(0, numeric.Length - 1); originalNumber = decimal.Parse(numeric); } } } return(originalNumber); }