Hướng Dẫn | Chuyển Số Sang Chữ C# | Diễn đàn Tuổi Trẻ CNTT

Diễn đàn tuổi trẻ CNTT
  • 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
  • Tools Upload images Proxy online Whois domain
Log in Register What's new Search

Search

Everywhere Threads This forum This thread Search titles only Note By: Search Advanced search…
  • New posts
  • Search forums
Menu Log in Register Install the app Install How to install the app on iOS

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++
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. Hướng dẫnchuyển số sang chữ 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#
Admin

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# 49816538187_b028b232f6_o.png Để 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 Bùng nổ Chuyển mạng giữ số sang Mobifone vì gói cước C120
  • tunglamed
  • Apr 21, 2021
  • Điện thoại di động
Replies 4 Views 2K Apr 22, 2021 caysung caysung B Ưu đãi đặc biệt khi chuyển mạng giữ số sang MobiFone
  • bisngoo
  • Jan 22, 2019
  • Thông tin các mạng di động
Replies 2 Views 1K Jan 23, 2019 caysung caysung B Hướng dẫn Chuyển mạng giữ số cho thuê bao trả trước sang MobiFone
  • bisngoo
  • Jan 3, 2019
  • Thông tin các mạng di động
Replies 2 Views 1K Jan 4, 2019 caysung caysung B Tin nóng - chuyển mạng giữ số sang Mobifone ngay tại nhà
  • bisngoo
  • Dec 13, 2018
  • Thông tin các mạng di động
Replies 2 Views 1K Dec 17, 2018 lamlun17 lamlun17 N Trải nghiệm các gói cước trả sau cho thuê bao chuyển mạng giữ số sang mạng Mobifone
  • nanghanh
  • Dec 12, 2018
  • Thông tin các mạng di động
Replies 10 Views 1K Dec 18, 2018 hoaphudung hoaphudung B Tặng 25% cước tiêu dùng khi chuyển mạng giữ số sang MobiFone
  • bisngoo
  • Dec 6, 2018
  • Thông tin các mạng di động
Replies 2 Views 985 Dec 10, 2018 caysung caysung tunglamed Hướng dẫn chuyển mạng giữ số sang Mobifone tại nhà
  • tunglamed
  • Nov 26, 2018
  • Thông tin các mạng di động
Replies 2 Views 1K Nov 29, 2018 caysung caysung N Cách chuyển mạng giữ số từ nhà mạng khác sang MobiFone
  • nanghanh
  • Nov 5, 2018
  • Thông tin các mạng di động
Replies 2 Views 1K Nov 14, 2018 lamlun17 lamlun17 tunglamed Chuyển mạng giữ số - Ưu đãi lớn cho khách hàng khi chuyển sang sử dụng dịch vụ MobiFone
  • tunglamed
  • Oct 24, 2018
  • Thông tin các mạng di động
Replies 10 Views 2K Oct 29, 2018 phomaique P N Tổng hợp ưu đãi cho thuê bao trả trước chuyển mạng giữ số qua MobiFone
  • nanghanh
  • Jan 14, 2019
  • Thông tin các mạng di động
Replies 2 Views 1K Jan 15, 2019 caysung caysung Share: Facebook X Bluesky LinkedIn Reddit Pinterest Tumblr WhatsApp Email Share Link
  • Home
  • Forums
  • .:: Wap web ::.
  • Kiến thức lập trình
  • C# / C++
Back Top

Từ khóa » đọc Số Thành Chữ C#