[Question] [Help] Code đọc số thành chữ, ai có không nhỉ. |
05/09/2007 09:12:49 (+0700) | #1 | 83396 |
|
BlueBird
Member
|
0 |
|
|
Joined: 19/07/2003 04:08:08
Messages: 288
Location: Bến Thượng Hải
Offline
|
|
Tớ đang cần 1 code có thể đọc số mà thành chữ (PHP hoặc Java Script cũng được)
Ví dụ nhập: 123 vào 1 input thì nó sẽ hiện thành ->"một trăm hai mươi ba"
Không biết có ai đang có không cho tớ xin nha. Ai rảnh thì viết dùm luôn cũng được, cám ơn,
Thiệt tình không rành về PHP và JS, mà hiện giờ đang rất cần, nếu đi học thì.... không còn đủ thời gian nữa rồi.
Cám ơn trước nha. |
|
|
|
|
[Question] Re: [Help] Code đọc số thành chữ, ai có không nhỉ. |
05/09/2007 12:44:47 (+0700) | #2 | 83422 |
|
canh_nguyen
Elite Member
|
0 |
|
|
Joined: 23/08/2004 18:55:09
Messages: 775
Location: Broken dream
Offline
|
|
Hì chưa động đến cái nào như vậy, thấy cái ý này hay hay.
Với PHP theo mình đầu tiên sẽ là chek ký tự đưa vào sao cho không có khoảng trống hoặc ký tự khác ngoài số (nếu có thì cũng chỉ chấp nhận dấu . hoặc dấu , để phân cách đơn vị).
Tiếp đó count số lượng ký tự đưa vào. Cho ký tự này chui qua một hàm (check từ trái qua phải) xây dựng từ trước để cho nó hiển thị thành dạng một trăm hai mươi ba.
VD :
1 ký tự: => Chuyển luôn số đó 1=> một
2 ký tự : Số đầu thêm "mươi".
3 ký tự : Số đầu thêm "trăm", số thứ 2 thêm "mươi".
Ký tự đưa vào có 4 số 1234 , số đầu tiên là 1 thì replace -> một nghìn, số thứ 2 là 2 thì replace -> hai trăm....
Ngoài ra còn nhiều công đoạn hơn nữa để việc chuyển số thành chữ được chuẩn hơn.
Anh em nào có cách nào hay hơn thì cho anh em học hỏi ) . |
|
|
|
|
[Question] [Help] Code đọc số thành chữ, ai có không nhỉ. |
05/09/2007 15:55:01 (+0700) | #3 | 83430 |
|
learn2hack
Elite Member
|
0 |
|
|
Joined: 29/06/2006 16:32:37
Messages: 825
Offline
|
|
Bài này ngày xưa học lập trình Pascal, C có làm, bây giờ chắc phải chuyển qua JS hay PHP .
Bài toán này không khó lắm, nhưng nó hơi rắc rối do cách đọc của người Việt mình cũng phức tạp. Trước đây mình xét theo kiểu này:
1. Số 2 chữ số, có vài điểm nhỏ sau:
- trường hợp số < 10
- số từ 10 đến 20
- số tận cùng là 5 (đọc là "hai mươi lăm")
2. Số có 3 chữ số, cũng có vài điểm này:
- trường hợp từ x00 đến x10 (có chữ "linh" như "ba trăm linh sáu")
- còn lại thì sử dụng kết quả của việc đọc 2 chữ số ở trên
3. Số có nhiều chữ số:
- tách nó ra thành các cụm 3 chữ số từ phải sang trái
- đọc từng cụm 3 chữ số đó (nhờ bước trên), thêm "hàng nghìn, triệu, tỉ, ..." vào sau, và tiếp tục
Không biết ai có cách nào đơn giản hơn không? |
|
Blog: http://hontap.blogspot.com
Tải phần mềm miễn phí: http://www.taiphanmem.org |
|
|
|
[Question] Re: [Help] Code đọc số thành chữ, ai có không nhỉ. |
06/09/2007 04:45:22 (+0700) | #4 | 83532 |
|
haipt
Member
|
0 |
|
|
Joined: 20/08/2004 19:48:44
Messages: 165
Location: Hải phòng
Offline
|
|
) Với những bạn đã làm chương trình kế toán thì chẳng lạ gì thủ tục này.
Source đây: Vb,Vb.NET,C#... ai dùng java thì tự convert nhé
http://www.caulacbovb.com/forum/viewtopic.php?f=51&t=9247
|
|
|
|
|
[Question] Re: [Help] Code đọc số thành chữ, ai có không nhỉ. |
06/09/2007 05:39:05 (+0700) | #5 | 83547 |
|
BlueBird
Member
|
0 |
|
|
Joined: 19/07/2003 04:08:08
Messages: 288
Location: Bến Thượng Hải
Offline
|
|
to learn2hack:
Cậu convert cái link ở dưới xong thì..... cho tớ nha, đã nói là không rành rồi mà còn cho cái link..... hết hỉu luôn, nhưng cũng cảm ơn nha. |
|
|
|
|
[Question] [Help] Code đọc số thành chữ, ai có không nhỉ. |
06/09/2007 13:38:15 (+0700) | #6 | 83614 |
|
learn2hack
Elite Member
|
0 |
|
|
Joined: 29/06/2006 16:32:37
Messages: 825
Offline
|
|
Tớ có cho cái link nào đâu , đấy là chữ kí của tớ . Cậu làm theo các bước như trên tớ chỉ xem có ổn không, còn mắc chỗ nào thì đưa lên đây thảo luận nhé. |
|
Blog: http://hontap.blogspot.com
Tải phần mềm miễn phí: http://www.taiphanmem.org |
|
|
|
[Question] Re: [Help] Code đọc số thành chữ, ai có không nhỉ. |
29/09/2007 06:31:37 (+0700) | #7 | 87764 |
|
BlueBird
Member
|
0 |
|
|
Joined: 19/07/2003 04:08:08
Messages: 288
Location: Bến Thượng Hải
Offline
|
|
Lại phải thêm 1 replay nữa rồi.
Sau bao nhiêu ngày quần quật thì..... vẫn không làm được cài vụ này (ngu chít đi được), còn cái gì gọi là convert thì.... cũng thua.
Hỏi lại lần nữa nha :d, ai có cái Java Scipt hay PHP như thế thì... cho tớ mượn 1 thời gian nha, xong thì trả lại cho, đang cần, tới đoạn đó rồi mà mà không làm được, chắc phải bỏ trống phần đó rồi viết bằng tay quá (mất thẩm mỹ mất ).
Cám ơn nữa nè |
|
|
|
|
[Question] Re: [Help] Code đọc số thành chữ, ai có không nhỉ. |
29/09/2007 06:48:50 (+0700) | #8 | 87767 |
FaL
Moderator
|
Joined: 14/04/2006 09:31:18
Messages: 1232
Offline
|
|
@BlueBird:
- Convert nghĩa là dịch.
- Sau bao nhiêu ngày bồ đã quần quật được đến đâu rồi? Đã đến lệnh if... else chưa? Còn khúc mắc chỗ nào?
- Tớ nghĩ rất nhiều người có thể giúp cậu đoạn code này, nhưng ko ai cho cả là cũng có ý của người ta. Cậu cố gắng một tí chắc là đợc thôi mà.
Thân, FaL. |
|
Hãy giữ một trái tim nóng và một cái đầu lạnh |
|
|
|
[Question] Re: [Help] Code đọc số thành chữ, ai có không nhỉ. |
29/09/2007 11:49:19 (+0700) | #9 | 87803 |
|
minhquan1712
Member
|
0 |
|
|
Joined: 07/09/2006 16:17:25
Messages: 240
Offline
|
|
tự code một mình sẽ có 1 cảm giác rất lạ khi hoàn thành(sung sướng , tự hào ^^). Bạn cố gắng lên nhé. Thuật toán mọi người đã chỉ rất rõ rồi đấy. |
|
|
|
|
[Question] Re: [Help] Code đọc số thành chữ, ai có không nhỉ. |
29/09/2007 15:48:59 (+0700) | #10 | 87832 |
|
BlueBird
Member
|
0 |
|
|
Joined: 19/07/2003 04:08:08
Messages: 288
Location: Bến Thượng Hải
Offline
|
|
@ FaL:
Convert nghĩa là dịch
Cái này thì tớ biết, nhưng convert như thế nào ..... ?! :?
Sau bao nhiêu ngày bồ đã quần quật được đến đâu rồi? Đã đến lệnh if... else chưa? Còn khúc mắc chỗ nào?
Tớ dùng những khoảng thời gian rảnh (ít ỏi quá) để mà ngâm cíu sơ bộ , ngắm nó mà mà thấy vẫn tếu tếu thế nào ấy
Tớ nghĩ rất nhiều người có thể giúp cậu đoạn code này, nhưng ko ai cho cả là cũng có ý của người ta. Cậu cố gắng một tí chắc là đợc thôi mà.
Tớ cám ơn lòng tốt của các bạn (vì không có thời gian nên mới hỏi, vậy mà, hix hix ... à).
@ minhquan1712:
tự code một mình sẽ có 1 cảm giác rất lạ khi hoàn thành(sung sướng , tự hào ^^). Bạn cố gắng lên nhé. Thuật toán mọi người đã chỉ rất rõ rồi đấy.
Chắc tớ cũng cố để nếm cảm giác đó thôi (nếm nhiều thứ rồi, mà cái thứ quỷ này thì chưa nếm bao giờ), nếu học về mấy cái gọi là coder đó thì không là vấn đề rồi, nhưng với tớ thì đó là những thứ xa xỉ lắm . Có ai muốn đụng vào đâu chứ.
Than thở riết đâm ra chán. Nếu không có thì thôi vậy, sang tuần được nghỉ 1 tuần nên cũng gọi là rảnh rồi, đè nó ra mà .... nếm thôi.
Cám ơn mọi người.
<!--- E n d ---> |
|
|
|
|
[Question] Re: [Help] Code đọc số thành chữ, ai có không nhỉ. |
30/09/2007 07:48:24 (+0700) | #11 | 87915 |
114v
Member
|
0 |
|
|
Joined: 08/07/2006 23:27:00
Messages: 191
Offline
|
|
Dùng đệ qui
Code:
<?php
$nwords = array( "khong", "mot", "hai", "ba", "bon", "nam", "sau", "bay",
"tam", "chin", "Muoi", "Muoi mot", "Muoi hai", "Muoi ba",
"Muoi bon", "Muoi lam", "Muoi sau", "Muoi bay", "Muoi tam",
"Muoi chin", "Hai muoi", 30 => "Ba muoi", 40 => "BOn muoi",
50 => "Nam muoi", 60 => "Sau moi", 70 => "Bay muoi", 80 => "Tam muoi",
90 => "Chin muoi" );
function int_to_words($x)
{
global $nwords;
if(!is_numeric($x))
{
$w = '#';
}else if(fmod($x, 1) != 0)
{
$w = '#';
}else{
if($x < 0)
{
$w = 'minus ';
$x = -$x;
}else{
$w = '';
}
if($x < 21)
{
$w .= $nwords[$x];
}else if($x < 100)
{
$w .= $nwords[10 * floor($x/10)];
$r = fmod($x, 10);
if($r > 0)
{
$w .= '-'. $nwords[$r];
}
} else if($x < 1000)
{
$w .= $nwords[floor($x/100)] .' <b>Tram</b>';
$r = fmod($x, 100);
if($r > 0)
{
$w .= ' and '. int_to_words($r);
}
} else if($x < 1000000)
{
$w .= int_to_words(floor($x/1000)) .' <b>Ngan</b>';
$r = fmod($x, 1000);
if($r > 0)
{
$w .= ' ';
if($r < 100)
{
$w .= 'and ';
}
$w .= int_to_words($r);
}
} else {
$w .= int_to_words(floor($x/1000000)) .' <b>Trieu</b>';
$r = fmod($x, 1000000);
if($r > 0)
{
$w .= ' ';
if($r < 100)
{
$word .= 'and ';
}
$w .= int_to_words($r);
}
}
}
return $w;
}
// demonstration
if(isset($_POST['num']))
{
echo '
the number reads <b>'.$_POST['num'].'</b>:<br />'.int_to_words($_POST['num']).'<p>
<a href="'.$_SERVER['PHP_SELF'].'">try again</a>';
}else{
echo '
<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<input type="text" name="num">
<input type="submit" value="spell number">
</form>';
}
?>
|
|
|
|
|
[Question] [Help] Code đọc số thành chữ, ai có không nhỉ. |
30/09/2007 15:29:24 (+0700) | #12 | 87979 |
minhhuy001122
Member
|
0 |
|
|
Joined: 29/09/2007 16:04:32
Messages: 14
Offline
|
|
BlueBird wrote:
Tớ đang cần 1 code có thể đọc số mà thành chữ (PHP hoặc Java Script cũng được)
Ví dụ nhập: 123 vào 1 input thì nó sẽ hiện thành ->"một trăm hai mươi ba"
Không biết có ai đang có không cho tớ xin nha. Ai rảnh thì viết dùm luôn cũng được, cám ơn,
Thiệt tình không rành về PHP và JS, mà hiện giờ đang rất cần, nếu đi học thì.... không còn đủ thời gian nữa rồi.
Cám ơn trước nha.
chào bạn ! tôi chỉ gợi ý thôi không liên quan gì đến lập trình đâu nhé, bạn suy nghĩ xem bình thường khi bạn đọc 1 con số bạn đọc như thế nào?
+ xem nó có bao nhiêu chữ số để xác định nó thuộc hàng nào ( đơn vị, chục, trăm, nghìn...).
+ dạy cho nó cách đọc từ hàng đơn vị trở đi.
cái này viết bằng php quá dể so với máy thằng khác. Giờ đang ở hàng net ko có đồ nghề, để bửa nào rảnh tôi làm giùm cho. |
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|