Chuyển đổi Số Thành Chuỗi Trong C# | Tìm ở đây
Có thể bạn quan tâm
- .Net / Khoá học
- 12
Giới thiệu bài toán
Bài toán chuyển số thành chuỗi bạn sẽ hay gặp trong những phần mềm chuyên dụng như phần mềm bán hàng, phần mềm kế toán, quản lý kho … để in số tiền hoặc các con số ra dạng tường mình dạng chuỗi. Ví dụ: 123 sẽ in ra thành “một trăm hai ba” Trước khi bạn bắt tay vào lập trình, chúng ta phân tích một chút để tìm ra quy luật của bài toán: Ví dụ: 123 => một trăm hai ba 567,123 => năm trăm sáu bảy nghìn một trăm hai ba 890,567,123 => tám trăm chín mươi triệu năm trăm sáu bảy nghìn một trăm hai ba …. Bạn sẽ thấy quy luật đều bắt nguồn từ phần cơ sở là hàng trăm, hàng chục và hàng đơn vị. Các con số hàng nghìn, hàng triệu, hàng tỷ … đều được sinh theo quy luật như trên.
Code thuật toán chuyển số thành xâu
//123 => một trăm hai ba đồng //1,123,000=>một triệu một trăm hai ba nghìn đồng //1,123,345,000 => một tỉ một trăm hai ba triệu ba trăm bốn lăm ngàn đồng string [] mNumText = "không;một;hai;ba;bốn;năm;sáu;bảy;tám;chín".Split(';'); //Viết hàm chuyển số hàng chục, giá trị truyền vào là số cần chuyển và một biến đọc phần lẻ hay không ví dụ 101 => một trăm lẻ một 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 = DocHanTram(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"; } }Xem chi tiết trong Video
Tags: .NETC#lập trình C#
- Next story Tổng quan về SharePoint
- Previous story Khoá học SharePoint
You may also like...
-
0 Bài tập câu lệnh điều kiện switch case
15/02/2016
-
0 Quản lí tệp và thư mục
09/10/2015
-
5 Bài 44: Kéo – thả (Drag/ Drop) trong HTML5
26/11/2016
12 Responses
- Comments12
- Pingbacks0
-
Hoàng viết: 01/06/2020 lúc 8:39 chiều
Hàm này add vào đâu thầy ơi. em add vào funtion không được.
Đăng nhập để bình luận-
Phan Tiến viết: 02/06/2020 lúc 9:07 sáng
Nếu em làm riêng trên form, thì em add trực tiếp đoạn code này vào form em đang làm. Còn trường hợp em viết một lớp Functions riêng thì em cần xem trong video đoạn này: https://youtu.be/NcgTNOdBaeE?t=2461
Đăng nhập để bình luận
-
-
Hoàng viết: 01/06/2020 lúc 8:45 chiều
Em t hêm vào và chạy nó báo lỗi: System.NotImplementedException: ‘The method or operation is not implemented.’
Đăng nhập để bình luận -
Tài viết: 20/07/2020 lúc 3:38 chiều
if (ty > 0) { chuoi = DocHangTrieu(so, true) + hauto + chuoi; } else { chuoi = DocHangTrieu(so, false) + hauto + chuoi; } -> chỗ này chưa đúng với trường hợp tiền tỷ
Đăng nhập để bình luận-
Tài viết: 20/07/2020 lúc 3:40 chiều
3,118,024,647.38 Một trăm mười tám triệu không trăm hai mươi bốn nghìn sáu trăm bốn mươi bảy tỷ một trăm mười tám triệu không trăm hai mươi bốn nghìn sáu trăm bốn mươi bảy đồng
Đăng nhập để bình luận-
Phan Tiến viết: 20/07/2020 lúc 6:10 chiều
Bạn thử thay thế đoạn code sau:
public static 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) { hauto = " tỷ"; chuoi = DocHangTrieu(ty, false) + hauto + DocHangTrieu(so,false); } else { chuoi = DocHangTrieu(so, false);// + hauto + chuoi; } //} while (ty > 0); return chuoi + " đồng"; } Đăng nhập để bình luận
-
-
-
Đạt viết: 29/09/2020 lúc 5:21 chiều
thầy ơi cho em hỏi với ạ e, làm đến form hóa đơn em xem video của thầy em chỉnh lỗi lưu hóa đơn nhưng khi làm theo thầy thì em lại bị lỗi này ạ hình https://drive.google.com/file/d/1WPVIxvQN82bx4uY9sIZGtei5laNhyEOh/view?usp=sharing và sau đó khi em ấn ok thì bị lỗi này ạ https://drive.google.com/file/d/19McdQPyrZ6-2GE-xLovWwm7BknZ4TtXu/view?usp=sharing và trong phần in ra ex thì em lại bị lỗi này ạ https://drive.google.com/file/d/1n4RtT9xZj2UBTuDrZiyZVbimPh177eds/view?usp=sharing thầy có thể giúp em dc luôn vid mai em phải nộp rồi ạ em cảm ơn thầy nhiều ạ
Đăng nhập để bình luận-
Cường viết: 28/11/2020 lúc 1:16 chiều
Lỗi hình thứ 1 là chuỗi ký tự nhập vào dài hơn số ký tự đã khai báo cột trong SQL. Lỗi hình thứ 2 là Chuỗi SQL sai định dạng format, kiểm tra lại chuỗi sau khi truyền biến vào. Lỗi hình thứ 3 là Câu truy vấn của bạn không có kết quả trả về, vấn đề này bạn phải ràng buộc lại nhé, (nếu tblThongTinHD.Rows.Count > 0 thì mới có thể gọi dòng tblThongTinHD.Rows[0][0] được)
Đăng nhập để bình luận
-
-
Ái viết: 25/03/2021 lúc 1:52 sáng
Em làm bài này trên giao diện WPF ạ. Mặc dù chương trình không hiện lỗi nhưng khi chạy chương trình thì button của em bị lỗi ạ. Mong thầy giúp đỡ ạ. Đây là link ảnh ạ: https://drive.google.com/file/d/1fWxTP5CSZ5ShkBHaYWU0QTwMd7R3JILD/view
Đăng nhập để bình luận -
ngo da nhan viết: 28/04/2021 lúc 11:18 sáng
em coppy paste bi loi nhu v a loi 1 Severity Code Description Project File Line Suppression State Error CS5001 Program does not contain a static ‘Main’ method suitable for an entry point baibon C:\Users\SV\source\repos\bai1\baibon\CSC 1 Active
Đăng nhập để bình luận-
Phan Tiến viết: 28/04/2021 lúc 6:16 chiều
Em xem video hướng dẫn ý. Như trường hợp của em, hình như em bị xoá mất function Main rồi
Đăng nhập để bình luận
-
-
Đức Tuấn viết: 06/08/2021 lúc 9:31 chiều
Em có đoạn javaScript này. Mọi người có thể chuyển sang C# được ko ạ? Mọi người giúp đỡ. Đây cũng là code đọc sô rút tiền rút gọn Ví du: 5.000.000.000 thì sẽ ra kết quả là 5 tỷ
Code isNumber: function (number) { for (var i = 0; i = “0” && temp 0 && parseInt(price, 0) > 900000000) { if (priceTrieu > 0) { getTrieu = “,” + priceTrieu / 100; } else { getTrieu = ”; } strTextPrice = strTextPrice + priceTy + getTrieu + ” Tỷ “; } if (priceTy == 0 && priceTrieu > 0) { if (priceNgan > 0) { getNgan = “,” + priceNgan / 100; } else { getNgan = ”; } strTextPrice = strTextPrice + priceTrieu + getNgan + ” Triệu “; } if (priceTrieu == 0 && priceNgan > 0) { if (priceDong > 0) { getDong = “,” + priceDong / 100; } else { getDong = ”; } strTextPrice = strTextPrice + priceNgan + getDong + ” Ngàn “; } if (priceNgan == 0 && priceDong > 0) { strTextPrice = strTextPrice + priceDong + ” Đồng”; }
strTextPrice = strTextPrice.replace(/\./g, “”); return strTextPrice; },
Đăng nhập để bình luận
Để lại một bình luận Hủy
Bạn phải đăng nhập để gửi bình luận.
Follow:
- Recent Posts
- Popular Posts
- Recent Comments
- Tags
-
Khoá học / SQLite
Bài 2: Cài đặt công cụ và Làm quen với DB Browser for SQLite
17/12/2025
-
Khoá học / SQLite
Bài 1: Tổng quan về SQLite – Cơ sở dữ liệu nhỏ gọn nhưng mạnh mẽ
14/12/2025
-
Khoa học dữ liệu
Hướng dẫn tạo môi trường ảo Python trên Windows và MacOs
06/12/2024
-
Lập trình Java
Bài 7: Nhập/Xuất trong Java
28/11/2024
-
Lập trình Java
Bài 6: Chuyển đổi kiểu dữ liệu
25/11/2024
-
Lập trình Java
Bài 5: Biến và kiểu dữ liệu trong Java
22/11/2024
-
Lập trình Java
Bài 4: Tạo dự án Java đầu tiên bằng IntelliJ
19/11/2024
-
Lập trình Java
Bài 3: Cài đặt IntelliJ – IDE tốt nhất cho Java
19/11/2024
-
Lập trình Java
Bài 2: Cài đặt JDK – Java Development Kit
18/11/2024
-
Lập trình Java
Bài 1: Giới thiệu về ngôn ngữ lập trình Java
18/11/2024
-
PyQt6 và Qt Designer
Tìm hiểu về QLineEdit trong PyQt6
04/11/2024
-
PyQt6 và Qt Designer
Tìm hiểu về QPushButton trong PyQt6
21/10/2024
-
PyQt6 và Qt Designer
Tìm hiểu về QLabel trong PyQt6
17/10/2024
-
PyQt6 và Qt Designer
Giới thiệu Signals và Slots trong PyQt
12/09/2024
-
Tin tức
Với 250 triệu người chơi, Hamster Kombat đang là mục tiêu tấn công của phần mềm độc hại
24/07/2024
-
Tin tức
Màn hình xanh chết chóc (Blue Screen) là gì?
21/07/2024
-
Tin tức
Khuyến nghị để đảm bảo an toàn thông tin khi truy cập Internet
19/07/2024
-
PyQt6 và Qt Designer
PyQt6 Hello World
15/07/2024
-
PyQt6 và Qt Designer
Giới thiệu về công cụ Qt Designer
11/07/2024
-
PyQt6 và Qt Designer
Giới thiệu về thư viện PyQt6
04/07/2024
-
.Net / Học Lập trình qua Project / Khoá học
Xây dựng chương trình quản lý bán hàng bằng C#
20/03/2016
-
.Net / Khoá học
Tạo báo cáo dùng control ReportViewer với C#
08/06/2016
-
.Net / Khoá học
Phần 1: Form và các Control thông dụng
04/02/2017
-
.Net / Khoá học
Lập trình Cơ sở dữ liệu với C#
04/06/2016
-
.Net / Khoá học
Phần 5: Tạo báo cáo với C#
07/03/2017
-
.Net / Khoá học
Phần 4: Lập trình Cơ sở dữ liệu với C#
26/02/2017
-
HTML / Khoá học
Tổng hợp các thẻ trong HTML
17/07/2016
-
.Net / Khoá học
Xây dựng ứng dụng từ điển đơn giản trong C#
21/02/2016
-
.Net / Khoá học
Tạo báo cáo với Crystal Report trong C#
02/03/2016
-
.Net / Khoá học
Code Export dữ liệu từ DataGridView tới PDF với C#
13/02/2020
-
.Net / Khoá học
Chuyển số thành chuỗi bằng C#
06/06/2019
-
Khoá học / SQL
Bài tập 1: Sử dụng truy vấn nâng cao SQL
25/12/2016
-
Excel / Khoá học / Tin học văn phòng
Các bài tập Excel căn bản có video hướng dẫn
24/10/2016
-
HTML / Khoá học
Trắc nghiệm HTML
05/11/2015
-
.Net / Khoá học
Xây dựng ứng dụng Calculator trong C#
28/02/2016
-
Khoá học / Tin học văn phòng / Tin học đại cương
Tạo trang web đơn giản và đưa lên Internet
09/10/2015
-
.Net / Khoá học
Lập trình web ASP.NET với cơ sở dữ liệu
06/07/2016
-
Khoá học / Sách, bài giảng / Tài liệu / Tin học văn phòng / Tin học đại cương
Các slide Tin học đại cương
13/10/2015
-
.Net / Khoá học
Bài tập xây dựng chương trình chat bằng C#
01/01/2017
-
JavaScript / Khoá học
Trắc nghiệm JavaScript
07/11/2015
- Phan Tiến says: Em search thư viện này trên google rồi tải về, để...
- [email protected] says: Bản 64bit bị thiếu file MTCH.dll thầy ơi
- bichhuynh says: dạ anh ơi cho em hỏi chức năng doubleclick ở form...
- Giới thiệu về thư viện PyQt6 | Tìm ở đây says: […] Trước khi bắt đầu lập trình xây dựng giao diện...
- Xác thực Password với biểu thức chính quy (Regular Expression) trong Python | Tìm ở đây says: […] bài viết trước, ta được tìm hiểu về cách Xác...
- Minh Nguyen says: Cho em hỏi là em code giống vs mẫu sao lúc...
- zsaka2003 says: còn mục hàng tồn và doanh thu đâu ạ??
- zsaka2003 says: thưa thầy em gặp phải lỗi như bên dưới thì sửa...
- Phan Tiến says: Theo em số nào số lẻ? Nếu em kiểm tra được...
- nha says: Dạ em chào thầy em đang làm đề tài này,thầy cho...
- viet5121198 says: Thầy ơi em bị ntn làm cách nào để sửa ạ...
- Phan Tiến says: Mình đang hiểu bạn đang hỏi về hệ quản trị cơ...
- Bài 9: Biến và câu lệnh khai báo biến | Tìm ở đây says: […] kiểu dữ liệu cho biến sao cho phù hợp. <tên...
- NinhAql says: Cho em hỏi là bài này mình sử dụng cấu trúc...
- Bài 5: Cấu trúc chung của chương trình C++ | Tìm ở đây says: […] Xét lại chương trình đầu tiên được nhắc đến trong...
- thinhbsua123 says: gán hết rồi vẫn bị ạ
- sondinh03 says: EM muốn đăng ký thì phải làm gì ạ?
- kuchiba123 says: Dạ anh ơi cho em hỏi lỗi lúc e chạy thử...
- thanhlam212 says: Bài giảng rất đầy đủ và dễ hiểu ạ, mong thầy...
- tien_tx1210 says: thầy ơi, thầy xem giúp em lỗi này là bị gì...
More
Danh mục
- .Net (39)
- Access (1)
- Android (2)
- API (1)
- Bài báo (2)
- Bài tập C/C++ (9)
- Bài tập Java (43)
- Bài tập Python (24)
- Cấu trúc dữ liệu và giải thuật (1)
- CSS (49)
- Demo (1)
- Excel (31)
- GIS (14)
- Google Maps (7)
- Học lập trình Python (2)
- Học Lập trình qua Project (5)
- HTML (55)
- JavaScript (4)
- Khoá học (218)
- Khoa học dữ liệu (1)
- Kiểm thử phần mềm (15)
- Kiểm thử ứng dụng di động (3)
- Lập trình C (26)
- Lập trình C++ (9)
- Lập trình Java (7)
- Lập trình Mobile (2)
- Lập trình Scratch (15)
- Learning English (1)
- Nghiên cứu (5)
- Phát triển ứng dụng (2)
- Phát triển ứng dụng WEB (1)
- PHP (12)
- PowerPoint (4)
- PyQt6 và Qt Designer (7)
- Python (6)
- Sách, bài giảng (25)
- SEO (1)
- Sharepoint (4)
- SQL (22)
- SQLite (2)
- Tài liệu (24)
- Thư giãn (8)
- Thủ thuật (33)
- Tin học văn phòng (44)
- Tin học đại cương (9)
- Tin tức (31)
- Tính toán phân tán (3)
- Tính toán song song (7)
- Tổng hợp (3)
- Tuyển sinh – Việc làm (2)
- Word (5)
- Xử lý ngôn ngữ (4)
- Đồ hoạ máy tính (3)
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#
-
Hướng Dẫn | Chuyển Số Sang Chữ C# | Diễn đàn Tuổi Trẻ CNTT
-
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