前言
項目中遇到分攤金額的情況,最後一條的金額=總金額-已經分攤金額的和。
這樣可能導致最後一條分攤的時候是負數,所以自己寫了一個保留指定位數小數的方法。
擴展方法的使用,使得調用起來很優雅。
示例代碼
public static class DecimalExtension { /// <summary> /// decimal保留指定位數小數 /// </summary> /// <param name="num">原始數量</param> /// <param name="scale">保留小數位數</param> /// <returns>截取指定小數位數後的數量字符串</returns> public static string ToString(this decimal num, int scale) { string numToString = num.ToString(); int index = numToString.IndexOf("."); int length = numToString.Length; if (index != -1) { return string.Format("{0}.{1}", numToString.Substring(0, index), numToString.Substring(index + 1, Math.Min(length - index - 1, scale))); } else { return num.ToString(); } } }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。