1
1
Эх сурвалжийг харах

NumberFormater适配通用数值类型

懒得勤快 2 жил өмнө
parent
commit
fdc91d6a92

+ 21 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/ValueTypeConvertExtensions.cs

@@ -1,4 +1,5 @@
 using System;
+using Masuit.Tools.Strings;
 
 namespace Masuit.Tools
 {
@@ -167,5 +168,25 @@ namespace Masuit.Tools
             }
             return num;
         }
+
+        /// <summary>
+        /// 转换为中文数字格式
+        /// </summary>
+        /// <param name="number"></param>
+        /// <returns></returns>
+        public static string ToChineseNumber(this IConvertible number)
+        {
+            return NumberFormater.ToChineseNumber(number);
+        }
+
+        /// <summary>
+        /// 数字转中文金额大写
+        /// </summary>
+        /// <param name="number"></param>
+        /// <returns></returns>
+        public static string ToChineseMoney(this IConvertible number)
+        {
+            return NumberFormater.ToChineseMoney(number);
+        }
     }
 }

+ 3 - 3
Masuit.Tools.Abstractions/Strings/NumberFormater.cs

@@ -311,7 +311,7 @@ namespace Masuit.Tools.Strings
         /// </summary>
         /// <param name="num">123.45</param>
         /// <returns></returns>
-        public static string ToChineseNumber(double num)
+        public static string ToChineseNumber(IConvertible num)
         {
             var x = num.ToString(CultureInfo.CurrentCulture);
             if (x.Length == 0)
@@ -351,7 +351,7 @@ namespace Masuit.Tools.Strings
         /// 数字转中文金额大写
         /// </summary>
         /// <param name="number">22.22</param>
-        public static string ToChineseMoney(double number)
+        public static string ToChineseMoney(IConvertible number)
         {
             /*
             #:用数字替换字符位置,如果数字小于对应值的位数,则在左侧填充零。
@@ -369,7 +369,7 @@ namespace Masuit.Tools.Strings
             B:将数字转换为二进制格式。
             A:将数字转换为 ASCII 字符。
              */
-            var s = number.ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
+            var s = number.ConvertTo<decimal>().ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
 
             /*
              * ((?<=-|^)[^1-9]*): 匹配负号(如果存在),并且匹配在小数点前面的所有非数字字符。

+ 1 - 1
Masuit.Tools.NoSQL.MongoDBClient/Masuit.Tools.NoSQL.MongoDBClient.csproj

@@ -38,7 +38,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="MongoDB.Driver" Version="2.19.0" />
+    <PackageReference Include="MongoDB.Driver" Version="2.19.1" />
   </ItemGroup>
 
 </Project>

+ 1 - 1
Masuit.Tools/Masuit.Tools.csproj

@@ -195,7 +195,7 @@
       <Version>1.0.0-beta14</Version>
     </PackageReference>
     <PackageReference Include="StackExchange.Redis">
-      <Version>2.6.96</Version>
+      <Version>2.6.104</Version>
     </PackageReference>
     <PackageReference Include="System.ValueTuple">
       <Version>4.5.0</Version>