/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Ulige eller lige
Fra : Dan Ludvigsen


Dato : 14-12-00 22:48

Hello

Er der en der kender en kode til at kende lige tal og ulige tal?
Takker og bukker
Dan



 
 
N/A (15-12-2000)
Kommentar
Fra : N/A


Dato : 15-12-00 00:16



Tomas Christiansen (15-12-2000)
Kommentar
Fra : Tomas Christiansen


Dato : 15-12-00 00:16

Kim Pedersen skrev:
> Function IsEven(EvalNum As Long) As Boolean
> Dim lNum As Integer
> ' Læs det sidste tal
> lNum = Right(EvalNum, 1)
> ' Evaluer nummeret
> IsEven = CBool(InStr("02468", lNum))
> End Function

Der er som bekendt altid mange måder at gøre tingene på, men jeg må sige, at
dit forslag synes en kende kompliceret i forhold til opgavens art

For at teste om et tal er lige eller ulige, kan man dividere med 2, og se om
resten er 0 (så var tallet lige) eller 1 (så var tallet ulige).

Skrevet som en funktion, der kan klare positive heltal, bliver det:

Function Even(Tal As Long) As Boolean
Even = (Tal Mod 2 = 0)
End Function
-------
Tomas



Kim Pedersen [vbCode~ (15-12-2000)
Kommentar
Fra : Kim Pedersen [vbCode~


Dato : 15-12-00 09:42

Hej Tomas

> Der er som bekendt altid mange måder at gøre tingene på, men jeg må sige,
at
> dit forslag synes en kende kompliceret i forhold til opgavens art
>
> For at teste om et tal er lige eller ulige, kan man dividere med 2, og se
om
> resten er 0 (så var tallet lige) eller 1 (så var tallet ulige).
>
> Skrevet som en funktion, der kan klare positive heltal, bliver det:
>
> Function Even(Tal As Long) As Boolean
> Even = (Tal Mod 2 = 0)
> End Function

Det har du ret i.. Selvom ting virker, så er det naturligvis ikke altid det
er den bedste løsning.

Jeg vil i hvert fald anbefale Dan i at bruge din metode, da den er mindre
resourcekrævende og langt hurtigere.. Det er jo især en fordel hvis at
funktionen skal udføres mange gange i løbet af en løkke.

Hilsen/Best regards
Kim Pedersen, vbCode Magician Host
http://hjem.get2net.dk/vcoders/cm
ICQ: 62990889



N/A (15-12-2000)
Kommentar
Fra : N/A


Dato : 15-12-00 12:55



euroconnect (15-12-2000)
Kommentar
Fra : euroconnect


Dato : 15-12-00 12:55

Du lægger halvdelen af tallet til, og tager en heltalsdivision med tallet og
ganger resultatet med tallet igen ex.

((1730 + 12.5 ) div 25) * 25

"NK" <cabsoft@cabsoft.dk> skrev i en meddelelse
news:91cdul$p9m$1@news.cybercity.dk...
> Dette må så være i samme boldgade ?, hvordan afrunder man tal til eks.
> nærmeste 5 eller 25 ?(eller andet vilkårligt tal)
>
> feks. skal 1740 af rundes til 1750, 1730 afrundes til 1725 ??
>
> NK
>
>
> "Dan Ludvigsen" <dan.ludvigsen@mail1.stofanet.dk> skrev i en meddelelse
> news:Tib_5.131$Hv.8783@news101.telia.com...
> > Hello
> >
> > Er der en der kender en kode til at kende lige tal og ulige tal?
> > Takker og bukker
> > Dan
> >
> >
>
>



Tomas Christiansen (17-12-2000)
Kommentar
Fra : Tomas Christiansen


Dato : 17-12-00 22:08

eurodisconnect skrev:
> Du lægger halvdelen af tallet til, og tager en heltalsdivision med tallet
og
> ganger resultatet med tallet igen ex.
>
> ((1730 + 12.5 ) div 25) * 25

Eller afrunder undervejs:

Dim dTal As Double
Dim lNærmeste As Long

dTal = 1740
lNærmeste = 25

MsgBox FormatNumber(dTal / lNærmeste, 0) * lNærmeste

-------
Tomas



Rasmussen Peter (19-12-2000)
Kommentar
Fra : Rasmussen Peter


Dato : 19-12-00 13:47

skriv
if (tallet \ 2) <> 0 then ... er der en rest vil det være fordi det er et
ulige
Den (\) hedder i virkeligheden div der er også en funktion nu vi er igang
der hedder mod som giver resten af et tal. 5,3 mod 5 giver 3.


"Dan Ludvigsen" <dan.ludvigsen@mail1.stofanet.dk> wrote in message
news:Tib_5.131$Hv.8783@news101.telia.com...
> Hello
>
> Er der en der kender en kode til at kende lige tal og ulige tal?
> Takker og bukker
> Dan
>
>



Tomas Christiansen (20-12-2000)
Kommentar
Fra : Tomas Christiansen


Dato : 20-12-00 09:14

Rasmussen Peter skrev:
> if (tallet \ 2) <> 0 then ... er der en rest vil det være fordi det er et
> ulige

Det er ganske simpelt noget værre vrøvl!

Se de tidligere indlæg (det er altid en god idé), som faktisk angiver
korrekte løsninger.

-------
Tomas



Rasmussen Peter (20-12-2000)
Kommentar
Fra : Rasmussen Peter


Dato : 20-12-00 10:51

Rasmussen Peter skrev:

> if (tallet \ 2) <> 0 then ... er der en rest vil det være fordi det er et

> ulige

Det er ganske simpelt noget værre vrøvl!

......Ja det er noget rigtigt vrøvl rigtigt

Jeg mente MOD og ikke DIV

1 MOD 2 giver 1, altså ulige

2 MOD 2 giver 0 .... Lige

3 MOD 2 giver 1

4 MOD 2 giver 0

Jeg syntes nu at min løsning er mere overskuelig selvom den første var
forkert.

MVH




Tomas Christiansen (20-12-2000)
Kommentar
Fra : Tomas Christiansen


Dato : 20-12-00 15:13

Rasmussen Peter skrev:
> Jeg syntes nu at min løsning er mere overskuelig selvom den første var
> forkert.

Jeg er helt på glatis!

Der blev tidligere foreslået brugen af Mod til at konstatere om et tal var
lige eller ulige.

Du mener at din løsning er mere overskueligt end hvad???

-------
Tomas



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408825
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste