using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace JwKdsV.Core.Utils { public class DecimalUtils { public static int GetInt(object obj) { return GetInt(obj, 0); } public static int GetInt(object obj, int defaultValue) { int _value = defaultValue; int.TryParse((obj != null ? obj.ToString() : defaultValue.ToString()), out _value); return _value; } public static double GetDouble(object obj) { return GetDouble(obj, 0); } public static double GetDouble(object obj, double defaultValue) { double _value = defaultValue; double.TryParse((obj != null ? obj.ToString() : defaultValue.ToString()), out _value); return _value; } public static decimal GetDecimal(object obj) { return GetDecimal(obj, 0); } public static decimal GetDecimal(object obj, decimal defaultValue) { decimal _value = defaultValue; decimal.TryParse((obj != null ? obj.ToString() : defaultValue.ToString()), out _value); return _value; } /// /// 保留两位小数,四舍五入 /// /// /// public static decimal Random(decimal value) { return Math.Round(value, Constant.POINTNUM, MidpointRounding.AwayFromZero); } /// /// 指定保存小数位数,四舍五入 /// /// /// /// public static decimal Random(decimal value, int pointNum) { return Math.Round(value, pointNum, MidpointRounding.AwayFromZero); } /// /// 指定位数的数字格式化,size支持0、1、2 /// /// /// /// public static string FormatDataSwitch(decimal num, int size) { string result = ""; switch (size) { case 0: result = FormatDataNoPoint(num); break; case 1: result = FormatDataOnePoint(num); break; case 2: result = FormatDataDoublePoint(num); break; } return result; } /// /// 格式化为无小数 /// /// /// public static string FormatDataNoPoint(decimal num) { return FormatData(num, "0.##"); } /// /// 格式化为1位小数 /// /// /// public static string FormatDataOnePoint(decimal num) { return FormatData(num, "0.0#"); } /// /// 格式化为2位小数 /// /// /// public static string FormatDataDoublePoint(decimal num) { return FormatData(num, "f2"); } /// /// 指定格式的数字格式化 /// /// /// /// public static string FormatData(decimal num, string format) { return num.ToString(format); } /// /// 金额分转元 /// /// /// public static decimal Fen2Yuan(object amount) { return Fen2Yuan(GetDecimal(amount)); } /// /// 金额分转元 /// /// /// public static decimal Fen2Yuan(decimal amount) { return amount / 100; } } }