Code C# Chuyển Số Thành Chữ
Có thể bạn quan tâm
Dưới đây là phương thức tĩnh code C# có chức năng chuyển số thành chữ, tiện dụng cho các ứng dụng như chuyển số tiền thành chữ cho các ứng dụng như kế toán ...
using System; namespace XTL { public static class Utils { /// /// Chuyển phần nguyên của số thành chữ /// /// Số double cần chuyển thành chữ /// Chuỗi kết quả chuyển từ số public static string NumberToText(double inputNumber, bool suffix = true) { string[] unitNumbers = new string[] { "không", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín" }; string[] placeValues = new string[] { "", "nghìn", "triệu", "tỷ" }; bool isNegative = false; // -12345678.3445435 => "-12345678" string sNumber = inputNumber.ToString("#"); double number = Convert.ToDouble(sNumber); if (number < 0) { number = -number; sNumber = number.ToString(); isNegative = true; } int ones, tens, hundreds; int positionDigit = sNumber.Length; // last -> first string result = " "; if (positionDigit == 0) result = unitNumbers[0] + result; else { // 0: ### // 1: nghìn ###,### // 2: triệu ###,###,### // 3: tỷ ###,###,###,### int placeValue = 0; while (positionDigit > 0) { // Check last 3 digits remain ### (hundreds tens ones) tens = hundreds = -1; ones = Convert.ToInt32(sNumber.Substring(positionDigit - 1, 1)); positionDigit--; if (positionDigit > 0) { tens = Convert.ToInt32(sNumber.Substring(positionDigit - 1, 1)); positionDigit--; if (positionDigit > 0) { hundreds = Convert.ToInt32(sNumber.Substring(positionDigit - 1, 1)); positionDigit--; } } if ((ones > 0) || (tens > 0) || (hundreds > 0) || (placeValue == 3)) result = placeValues[placeValue] + result; placeValue++; if (placeValue > 3) placeValue = 1; if ((ones == 1) && (tens > 1)) result = "một " + result; else { if ((ones == 5) && (tens > 0)) result = "lăm " + result; else if (ones > 0) result = unitNumbers[ones] + " " + result; } if (tens < 0) break; else { if ((tens == 0) && (ones > 0)) result = "lẻ " + result; if (tens == 1) result = "mười " + result; if (tens > 1) result = unitNumbers[tens] + " mươi " + result; } if (hundreds < 0) break; else { if ((hundreds > 0) || (tens > 0) || (ones > 0)) result = unitNumbers[hundreds] + " trăm " + result; } result = " " + result; } } result = result.Trim(); if (isNegative) result = "Âm " + result; return result + (suffix ? " đồng chẵn" : ""); } } }Sử dụng như sau:
var snumber = XTL.Utils.NumberToText(566776768989); //năm trăm sáu mươi sáu tỷ bảy trăm bảy mươi sáu triệu bảy trăm sáu mươi tám nghìn chín trăm tám mươi chín đồng chẵnCode test thử chuyển 1000 số ngẫu nhiên sang chữ C#
// Kiểm tra ngẫu nhiên 1000 số int ntest = 1000; Random rn = new Random(); for (int i = 0; i < ntest; i++) { var number = rn.NextDouble() * rn.Next(1, Int32.MaxValue); var text = XTL.Utils.NumberToText(number); var ntext = number.ToString("###,###,###,###,###"); Console.WriteLine($"{ntext, 20} --> {text}"); }Kết quả
541,981,225 --> năm trăm bốn mươi một triệu chín trăm tám mươi một nghìn hai trăm hai mươi lăm đồng chẵn 418,968,707 --> bốn trăm mười tám triệu chín trăm sáu mươi tám nghìn bảy trăm lẻ bảy đồng chẵn 781,809,842 --> bảy trăm tám mươi một triệu tám trăm lẻ chín nghìn tám trăm bốn mươi hai đồng chẵn 108,892,081 --> một trăm lẻ tám triệu tám trăm chín mươi hai nghìn không trăm tám mươi một đồng chẵn 878,833,681 --> tám trăm bảy mươi tám triệu tám trăm ba mươi ba nghìn sáu trăm tám mươi một đồng chẵn 1,498,640,457 --> một tỷ bốn trăm chín mươi tám triệu sáu trăm bốn mươi nghìn bốn trăm năm mươi bảy đồng chẵn 1,225,616,098 --> một tỷ hai trăm hai mươi lăm triệu sáu trăm mười sáu nghìn không trăm chín mươi tám đồng chẵn 447,329,627 --> bốn trăm bốn mươi bảy triệu ba trăm hai mươi chín nghìn sáu trăm hai mươi bảy đồng chẵn 32,568,900 --> ba mươi hai triệu năm trăm sáu mươi tám nghìn chín trăm đồng chẵn 350,628,963 --> ba trăm năm mươi triệu sáu trăm hai mươi tám nghìn chín trăm sáu mươi ba đồng chẵn ................................... ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB Đăng ký nhận bài viết mớiTừ khóa » đọc Số Thành Chữ C#
-
[C#] Chương Trình đọc Số Thành Chữ
-
Ngôn Ngữ C# - Chuyển Số Thành Chữ
-
Hàm đọc Số Thành Chữ Trong C#
-
Hướng Dẫn | Chuyển Số Sang Chữ C# | Diễn đàn Tuổi Trẻ CNTT
-
Chuyển đổi Số Thành Chuỗi Trong C# | Tìm ở đây
-
Code Chuyển Tiền Số Sang Chữ Trên C# - Trang 3
-
Hàm đọc Số Bằng Chữ - C# - Dotnet Group
-
C#: Đọc Số Thành Chữ (tiếng Việt) [Code+Project+Video] - VN SEEDER
-
[C#] Giới Thiệu Thư Viện Humanizer đọc Số Thành Chữ Tiếng Việt, Tiếng ...
-
Code C#: Đọc Số Thành Chữ - YouTube
-
[C#] Chuyển Số Thành Chuỗi Trong C# - YouTube
-
Chuyển đổi Số Thành Chữ | Lập Trình C# | Khánh Jos - YouTube
-
Code C# Chuyển đổi Số Thành Chữ
-
Code đọc Số Sang Chữ Trong Lập Trình C# - TaiLieu.VN