static string ToCn <T>(T number, CnNumberType type) { return(type switch { CnNumberType.Number => ConvertToCnNumber(number), CnNumberType.Currency => ConvertToCnCurrency(number), CnNumberType.Digit => ConvertToCnDigit(number), _ => throw new ArgumentException("T must be short|int|long|decimal|float|double", nameof(number)) });
/// <summary> /// 将数字转换成中文表示形式 /// </summary> /// <param name="number"></param> /// <param name="type">Normal:中文数字,Currency:中文货币,Direct:仅转中文</param> /// <returns></returns> public static string ToCn(this double number, CnNumberType type) => ToCn <double>(number, type);
/// <summary> /// 将数字转换成中文表示形式 /// </summary> /// <param name="number"></param> /// <param name="type">Normal:中文数字,Currency:中文货币,Direct:仅转中文</param> /// <returns></returns> public static string ToCn(this decimal number, CnNumberType type) => ToCn <decimal>(number, type);
/// <summary> /// 将数字转换成中文表示形式 /// </summary> /// <param name="number"></param> /// <param name="type">Normal:中文数字,Currency:中文货币,Direct:仅转中文</param> /// <returns></returns> public static string ToCn(this long number, CnNumberType type) => ToCn <long>(number, type);