Hướng Dẫn | Chuyển Số Sang Chữ C# | Diễn đàn Tuổi Trẻ CNTT
Có thể bạn quan tâm
- Home
- Forums New posts Search forums
- What's new Featured content New posts New resources New profile posts Latest activity
- Resources Latest reviews Search resources
- Upgrade
- Members Current visitors New profile posts Search profile posts
- Upload images Proxy online Whois domain
Search
Everywhere Threads This forum This thread Search titles only Note Search Advanced search…- New posts
- Search forums
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
-
Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!
- Home
- Forums
- .:: Wap web ::.
- Kiến thức lập trình
- C# / C++
- Thread starter Thread starter AdminAdmin is verified member.
- Start date Start date Apr 25, 2020
- Tags Tags chu sang so c# doc chu sang số c#
AdminAdmin is verified member.
Well-Known Member
Staff member Administrator OS Windows 10 BR Chrome 81.0.4044.122 Chào các bạn, hôm nay tuoitreit.vn xin hướng dẫn các bạn chuyển số sang chữ trong C#
Để chuyển số sang chữ bạn viết hàm sau nhé C#:Copy to clipboard private string ChuyenSo(string number) { string[] dv = { "", "mươi", "trăm", "nghìn", "triệu", "tỉ"}; string[] cs = { "không", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín" }; string doc; int i, j, k, n, len, found, ddv, rd; len = number.Length; number += "ss"; doc = ""; found=0; ddv=0; rd=0; i = 0; while (i < len) { //So chu so o hang dang duyet n = (len - i + 2) % 3 + 1; //Kiem tra so 0 found = 0; for (j = 0; j < n; j++) { if (number[i + j] != '0') { found = 1; break; } } //Duyet n chu so if (found == 1) { rd = 1; for (j = 0; j < n; j++) { ddv=1; switch(number[i+j]) { case '0': if (n-j==3) doc+=cs[0]+" "; if (n-j==2) { if (number[i+j+1]!='0') doc+="lẻ "; ddv=0; } break; case '1': if (n-j==3) doc+=cs[1] + " "; if (n-j==2) { doc+="mười "; ddv=0; } if (n-j==1) { if (i + j == 0) k = 0; else k = i + j - 1; if (number[k]!='1' && number[k]!='0') doc += "mốt "; else doc+=cs[1]+" "; } break; case '5': if (i+j==len-1) doc+="lăm "; else doc+=cs[5]+" "; break; default: doc+=cs[(int)number[i+j]-48]+" "; break; } //Doc don vi nho if (ddv==1) { doc+=dv[n-j-1]+" "; } } } //Doc don vi lon if (len-i-n>0) { if ((len - i - n ) % 9 == 0) { if (rd==1) for (k = 0; k < (len - i - n) / 9; k++) doc += "tỉ "; rd=0; } else if (found!=0) doc+=dv[((len-i-n+1)%9)/3+2]+" "; } i+=n; } if (len == 1) if (number[0] == '0' || number[0] == '5') return cs[(int)number[0] - 48]; return doc; } Gọi hàm bạn sử dụng ChuyenSo(so); Tham số truyền vào sẽ là string chứa các con số ví dụ so.ToString(); Cách 2: C#:Copy to clipboard string[] mNumText = "không;một;hai;ba;bốn;năm;sáu;bảy;tám;chín".Split(';'); private string DocHangChuc(double so, bool daydu) { string chuoi = ""; //Hàm để lấy số hàng chục ví dụ 21/10 = 2 Int64 chuc = Convert.ToInt64(Math.Floor((double)(so / 10))); //Lấy số hàng đơn vị bằng phép chia 21 % 10 = 1 Int64 donvi = (Int64)so % 10; //Nếu số hàng chục tồn tại tức >=20 if (chuc > 1) { chuoi = " " + mNumText[chuc] + " mươi"; if (donvi == 1) { chuoi += " mốt"; } } else if (chuc == 1) {//Số hàng chục từ 10-19 chuoi = " mười"; if (donvi == 1) { chuoi += " một"; } } else if (daydu && donvi > 0) {//Nếu hàng đơn vị khác 0 và có các số hàng trăm ví dụ 101 => thì biến daydu = true => và sẽ đọc một trăm lẻ một chuoi = " lẻ"; } if (donvi == 5 && chuc >= 1) {//Nếu đơn vị là số 5 và có hàng chục thì chuỗi sẽ là " lăm" chứ không phải là " năm" chuoi += " lăm"; } else if (donvi > 1 || (donvi == 1 && chuc == 0)) { chuoi += " " + mNumText[donvi]; } return chuoi; } private string DocHangTram(double so, bool daydu) { string chuoi = ""; //Lấy số hàng trăm ví du 434 / 100 = 4 (hàm Floor sẽ làm tròn số nguyên bé nhất) Int64 tram = Convert.ToInt64(Math.Floor((double)so / 100)); //Lấy phần còn lại của hàng trăm 434 % 100 = 34 (dư 34) so = so % 100; if (daydu || tram > 0) { chuoi = " " + mNumText[tram] + " trăm"; chuoi += DocHangChuc(so, true); } else { chuoi = DocHangChuc(so, false); } return chuoi; } private string DocHangTrieu(double so, bool daydu) { string chuoi = ""; //Lấy số hàng triệu Int64 trieu = Convert.ToInt64(Math.Floor((double)so / 1000000)); //Lấy phần dư sau số hàng triệu ví dụ 2,123,000 => so = 123,000 so = so % 1000000; if (trieu > 0) { chuoi = DocHangTram(trieu, daydu) + " triệu"; daydu = true; } //Lấy số hàng nghìn Int64 nghin = Convert.ToInt64(Math.Floor((double)so / 1000)); //Lấy phần dư sau số hàng nghin so = so % 1000; if (nghin > 0) { chuoi += DocHangTram(nghin, daydu) + " nghìn"; daydu = true; } if (so > 0) { chuoi += DocHangTram(so, daydu); } return chuoi; } public string ChuyenSoSangChuoi(double so) { if (so == 0) return mNumText[0]; string chuoi = "", hauto = ""; Int64 ty; do { //Lấy số hàng tỷ ty = Convert.ToInt64(Math.Floor((double)so / 1000000000)); //Lấy phần dư sau số hàng tỷ so = so % 1000000000; if (ty > 0) { chuoi = DocHangTrieu(so, true) + hauto + chuoi; } else { chuoi = DocHangTrieu(so, false) + hauto + chuoi; } hauto = " tỷ"; } while (ty > 0); return chuoi + " đồng"; } Cách dùng: ChuyenSoSangChuoi(số) Ví dụ: ChuyenSoSangChuoi(100) Chúc bạn thành công! You must log in or register to reply here. Facebook Comments
Similar threads
- tunglamed
- Apr 21, 2021
- Điện thoại di động
- bisngoo
- Jan 22, 2019
- Thông tin các mạng di động
- bisngoo
- Jan 3, 2019
- Thông tin các mạng di động
- bisngoo
- Dec 13, 2018
- Thông tin các mạng di động
- nanghanh
- Dec 12, 2018
- Thông tin các mạng di động
- bisngoo
- Dec 6, 2018
- Thông tin các mạng di động
- tunglamed
- Nov 26, 2018
- Thông tin các mạng di động
- nanghanh
- Nov 5, 2018
- Thông tin các mạng di động
- tunglamed
- Oct 24, 2018
- Thông tin các mạng di động
- nanghanh
- Jan 14, 2019
- Thông tin các mạng di động
- Home
- Forums
- .:: Wap web ::.
- Kiến thức lập trình
- C# / C++
Từ khóa » đọc Số Thành Chữ C#
-
Code C# Chuyển Số Thành Chữ
-
[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#
-
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