Avatar billede tdaugaard Nybegynder
05. oktober 2001 - 12:21 Der er 17 kommentarer og
1 løsning

GroupDigits funktion ...

Plain and simple... lav en funktion der tager f.eks. en streng som: \"24123456789\" og gruperer tallene med 3 i hver gruppe, så det ser ud som følger: \"24.123.456.789\".

60 point til den der kommer med en brugbar funktion.
PS. Hvis der er flere der svarer tager jeg den hvis kode er pænest!
Avatar billede tdaugaard Nybegynder
05. oktober 2001 - 12:24 #1
Bruger VB5 bare i så i ve\'t ..
Avatar billede tdaugaard Nybegynder
05. oktober 2001 - 12:26 #2
Funktionen accepteres også i PHP/ASP da jeg selv ka omskrive den så...
Avatar billede kisbye Nybegynder
05. oktober 2001 - 13:30 #3
Dim slut1 As String
Dim start1 As String

start1 = \"24123456789\"

\'slut1 = Left$(start1, 2) & \".\" & Mid$(start1, 3,) & \".\" mid$(start1, 1,8 ) & \".\" & Right$(start1, 4)
slut1 = Left$(start1, 2) & \".\" & Mid$(start1, 3, 3) & \".\" & Mid$(start1, 6, 3) & \".\" & Right$(start1, 3)

MsgBox slut1

Jeg går ud fra at første del kun er på 2 tal.

V.H
Kisbye
Avatar billede limemedia Nybegynder
05. oktober 2001 - 13:30 #4
Så får du da bare en PHP løsning :)
Happy huntin\'


<?php
    function dotify($int) {
        $res = \"\";
        $intsize = strlen($int);
        $internalcount = 0;
       
        for ($i=$intsize;$i>0;$i--) {
            $res .= $int[$i];
            if ($internalcount%3 == 0 && $internalcount != 0) $res .= \".\";
            $internalcount++;
        }
       
        return strrev($res);
    }

    $tal = \"123456789012345678901234567890\";
    echo $tal.\"<BR>\\n\";
    echo dotify($tal).\"<BR>\\n\";
?>
Avatar billede kisbye Nybegynder
05. oktober 2001 - 13:31 #5
Linien der er udkommenteret skal du bare se bort fra.
Avatar billede peter.erikse Nybegynder
05. oktober 2001 - 13:32 #6
Mit bud:

Public Sub LavPænt(Tal)
    Lgd = Len(Tal)
    While Lgd >= 3
        tekst = Right(Tal, 3)
        Tal = Left(Tal, Lgd - 3)
        Lgd = Len(Tal)
        Gemstr = tekst & \".\" & Gemstr
    Wend
    If Tal <> \"\" Then Gemstr = Tal & \".\" & Gemstr
    MsgBox Gemstr
End Sub
Avatar billede limemedia Nybegynder
05. oktober 2001 - 13:33 #7
men brug dog et sprog hvor vi må regexp\'e lidt :))
Avatar billede peter.erikse Nybegynder
05. oktober 2001 - 13:39 #8
Hov den slutter med \".\"
Klares ved at indsætte:
    Lgd = Len(Gemstr)
    Gemstr = Left(Gemstr, Lgd - 1)
før msg :)
Avatar billede tdaugaard Nybegynder
05. oktober 2001 - 13:52 #9
Prøver lige peter.erikse\'s ... det er trodsalt allerede skrevet i VB...
Avatar billede tdaugaard Nybegynder
05. oktober 2001 - 14:07 #10
peter.erikse, din fejler hvis ikke tallets længde er deleligt med 3.
Omskriver lige ljweb\'s ..
Avatar billede limemedia Nybegynder
05. oktober 2001 - 14:08 #11
:o)
Avatar billede peter.erikse Nybegynder
05. oktober 2001 - 14:10 #12
Den fejler ikke hos mig
Avatar billede tdaugaard Nybegynder
05. oktober 2001 - 14:12 #13
peter.erikse, hmm .. ud af 1234567890 fik jeg .234.567.890 ... ca.
Avatar billede peter.erikse Nybegynder
05. oktober 2001 - 14:20 #14
Det gør den altså ikke hos mig, men pyt
Avatar billede tdaugaard Nybegynder
05. oktober 2001 - 14:20 #15
Bruger ljweb\'s .. til \"forbipasserende\" ser funktionen således ud i VB:

Public Function Dotify(Expression)
    intInternalCount = 0

    For intIndex = Len(Expression) To 1 Step -1
        strRes = strRes & Mid(Expression, intIndex, 1)
        If (intInternalCount Mod 3) = 0 And intInternalCount > 1 Then strRes = strRes & \".\"
        intInternalCount = intInternalCount + 1
    Next

    Dotify = StrRev(strRes)
End Function
Avatar billede limemedia Nybegynder
05. oktober 2001 - 14:24 #16
thx4ptn
Avatar billede kisbye Nybegynder
05. oktober 2001 - 14:24 #17
Nu var min Funktion altså også i VB.
Men pyt... :)
Avatar billede jper Nybegynder
05. oktober 2001 - 14:25 #18
Prøv med denne her:

s = \"24123456789\"
s = Format(s, \"##,###,##0\")
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester