Hiển thị kết quả từ 1 đến 5 / 5
  1. #1
    Tham gia
    03-01-2007
    Bài viết
    8
    Like
    0
    Thanked 0 Times in 0 Posts

    Ý tưởng mới ! conver 172$ -> one hundreds seventy-two. bác nào biết giải dùm e.

    Em đang rất cần thuật toán này mà chưa có hướng giải quyết. Nếu sử dụng if, else thi nhiều trường hợp lắm.
    Cho e lời giải đáp nhé. Thanks các bác nhièu
    Quote Quote

  2. #2
    Tham gia
    06-12-2007
    Location
    FPT Software (G9 TL), .NET, PHP, Javaaaaaaaaaaaaaaaaaaaaaaaaaa<-- bị kẹt phím (^_^)
    Bài viết
    309
    Like
    0
    Thanked 0 Times in 0 Posts
    Tách số !
    Có phải phần tử thứ 1 ko có tiền tố ko
    Phần tử thứ 2 sẽ có tiền tố "Chục"
    Phần tử thứ 3 sẽ có tiền tố "Trăm"
    Phần tử thứ 4 sẽ có tiền tố "Ngàn"...

  3. #3
    Tham gia
    03-01-2007
    Bài viết
    8
    Like
    0
    Thanked 0 Times in 0 Posts
    Cảm ơn bác đã giúp đỡ. Ý e muốn là sử dụng tiếng anh. Vì mấy cái báo cáo hóa đơn sử dụng nó.

  4. #4
    Tham gia
    07-04-2005
    Bài viết
    123
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi extjs View Post
    Tách số !
    Có phải phần tử thứ 1 ko có tiền tố ko
    Phần tử thứ 2 sẽ có tiền tố "Chục"
    Phần tử thứ 3 sẽ có tiền tố "Trăm"
    Phần tử thứ 4 sẽ có tiền tố "Ngàn"...
    Hậu tố chứ bác....

    @mousedie: thì ý của bác extjs là như vậy, còn tiếng Anh, tiếng Việt, Pháp Đức gì thì cứ thế mà thay vào....

  5. #5
    Tham gia
    28-12-2002
    Location
    ha noi
    Bài viết
    125
    Like
    0
    Thanked 2 Times in 2 Posts
    /CODE
    function String_ConvertDecimal (Const Source : string ) : string ;
    var
    Subs : Astring ;
    i : integer ;

    Function UnitsOf (Source : char ) : string ;
    begin
    Case Source of
    '0' : result := ' Kh«ng';
    '1' : result := ' mét';
    '2' : result := ' Hai';
    '3' : result := ' Ba';
    '4' : result := ' Bèn';
    '5' : result := ' n¨m';
    '6' : result := ' S¸u';
    '7' : result := ' b¶y' ;
    '8' : result := ' T¸m' ;
    '9' : result := ' ChÝn' ;
    End ;
    // result := result + ext;
    end;
    Function TensOf (Source : char ) : string ;
    begin
    Case Source of
    '0' : result := ' Linh';
    '1' : result := ' m­êi';
    '2' : result := ' Hai m­¬i';
    '3' : result := ' Ba m­¬i';
    '4' : result := ' Bèn m­¬i';
    '5' : result := ' n¨m m­¬i';
    '6' : result := ' S¸u m­¬i';
    '7' : result := ' b¶y m­¬i' ;
    '8' : result := ' T¸m m­¬i' ;
    '9' : result := ' ChÝn m­¬i' ;
    End ;
    end;

    Function HundredsOf (Source : char ) : string ;
    begin
    result := UnitsOf (Source) + ' Tr¨m' ;
    end;

    Function Level ( Num : integer ) : String ;
    begin
    Result := '';
    Case num Of
    1 : result := ' Ngh×n';
    2 : result := ' triÖu';
    3 : result := ' Tû';
    end;
    end;

    Function HundredsOfLevel (Source : String ; Num : integer ) : string ;
    begin
    result := '';
    If Source ='000' then
    begin
    // Result := Level(Num);
    exit;
    End;
    Case length (Source) of
    3 :
    begin
    Result := result + Hundredsof(Source[1])
    + TensOf (Source[2]) ;
    If Source[3]<>'0' then
    result := Result
    +UnitsOf (Source[3]) ;
    End;


    2 :
    begin
    If Source[2] <> '0' then
    result := TensOF (Source[1])+ UnitsOf (Source[2])
    Else
    result := TensOF (Source[1]);
    end;
    1 :
    Begin
    result := UnitsOf (Source[1]);
    End;
    end;
    // Writeln(Level(Num)); readln;
    Result := Result + Level(Num);

    end;


    begin
    //1,023,306,643
    result :='';
    String_Extract (Source , ',',Subs) ;
    For i :=0 to High (Subs) do
    begin
    // Writeln(Subs[i]);Readln;
    result := result + HundredsOfLevel (Subs[i],High(Subs)-i);
    end;
    end;
    CODE/
    Chuc vui !

    [=========> Bổ sung bài viết <=========]

    Thêm cái này cho đủ . viết = tiếng việt nên có thể hiển thị khó xem .
    Hàm này dùng để tách chuỗi .
    /Code
    Function String_Extract (Soure : string ; Filters : string ;var return : Astring ; Mode : integer ): integer;
    var
    i , l, n, j : integer;
    s,s1 :string;
    c : char;
    //.................................................. .......
    function filtercheck (c: char ) : char ;
    var i: integer;
    begin
    result :=#0;
    for i:=1 to length (filters) do
    if c = filters[i] then begin
    result := c;
    break;
    End;
    End;
    //.................................................. .......
    begin
    s := soure ;
    l := length (soure );
    i:=1;
    j := i;
    n := High (return );
    while i <= length(s) do
    begin
    c := filtercheck (s[i] );
    if c<>#0 then
    begin
    s1 := copy(s, j ,i-j ) ;
    String_clipspace(s1);
    if (s1 <>'') then
    begin
    Setlength (return ,n+2 );
    n := High (return );
    return [n] := s1 ;
    End;
    j := i+1 ;
    End;
    inc(i) ;
    End;
    s1 := copy(s, j ,i-j ) ;
    if s1<>'' then
    begin
    Setlength (return ,n+2 );
    n := High (return );
    String_ClipSpace(S1);
    return [n] := s1 ;
    End;
    Result := Length (Return);

    End;
    /Code
    Được sửa bởi Godbloc lúc 18:51 ngày 18-04-2008 Reason: Bổ sung bài viết

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •