/ 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
afrunde tal
Fra : Henrik


Dato : 09-01-04 15:39

Hej
Hvordan kan man afrunde et tal så der altid rundes op

--
Med Venlig hilsen / Best regards
Henrik Christensen



 
 
Jens Vestergaard (09-01-2004)
Kommentar
Fra : Jens Vestergaard


Dato : 09-01-04 16:03

"Henrik" <dsl122981@vip.cybercity.dk> skrev i en meddelelse
news:btmeds$o2k$1@news.cybercity.dk...
> Hej
> Hvordan kan man afrunde et tal så der altid rundes op

MitOprundedeTal = Int(MitDecimalTal) + 1


--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp



Henrik (09-01-2004)
Kommentar
Fra : Henrik


Dato : 09-01-04 16:11

når ja det er indlysende
tusind tak
Henrik

"Jens Vestergaard" <j@railsoft.dk> skrev i en meddelelse
news:3ffec286$0$30069$edfadb0f@dtext01.news.tele.dk...
> "Henrik" <dsl122981@vip.cybercity.dk> skrev i en meddelelse
> news:btmeds$o2k$1@news.cybercity.dk...
> > Hej
> > Hvordan kan man afrunde et tal så der altid rundes op
>
> MitOprundedeTal = Int(MitDecimalTal) + 1
>
>
> --
> mvh
> Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
> www.railsoft.dk
> Døgnets jernbanenyheder: www.railsoft.dk/medier.asp
>
>



Gert Krabsen (09-01-2004)
Kommentar
Fra : Gert Krabsen


Dato : 09-01-04 17:02

Bemærk dog lige, at Jens's løsning ikke fungerer, hvis tallet i forvejen
er uden decimaler!

Int(2)+1 = ?


prøv evt.

Int(I + 0.5)


mvh

Krabsen



Fri, 9 Jan 2004 15:38:52 +0100, Henrik <dsl122981@vip.cybercity.dk> skrev:

> Hej
> Hvordan kan man afrunde et tal så der altid rundes op
>



--
Sendt via Opera.
www.krabsen.dk
www.responsnord.dk
mfl

Jens Vestergaard (09-01-2004)
Kommentar
Fra : Jens Vestergaard


Dato : 09-01-04 18:07

"Gert Krabsen" <krabsen@krabsenfjernes.dk> skrev i en meddelelse
newsr1imtanq76ggyl@news.sunsite.auc.dk...
> Bemærk dog lige, at Jens's løsning ikke fungerer, hvis tallet i forvejen
> er uden decimaler!
>

Der blev spurgt om at afrunde... man kan ikke afrunde et tal uden
decimaler...

> prøv evt.
> Int(I + 0.5)

??
Det vil da runde NED, så længe I < n,5


--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp



Gert Krabsen (09-01-2004)
Kommentar
Fra : Gert Krabsen


Dato : 09-01-04 19:49

Fri, 9 Jan 2004 18:07:01 +0100, Jens Vestergaard <j@railsoft.dk> skrev:

> "Gert Krabsen" <krabsen@krabsenfjernes.dk> skrev i en meddelelse
> newsr1imtanq76ggyl@news.sunsite.auc.dk...
>> Bemærk dog lige, at Jens's løsning ikke fungerer, hvis tallet i
>> forvejen
>> er uden decimaler!
>>
>
> Der blev spurgt om at afrunde... man kan ikke afrunde et tal uden
> decimaler...

Mjo, men hvis rutinen skal bruges i et program, der leverer tal med
decimaler skulle det være mærkeligt, om der ikke på et tidspunkt koom et
x,0 - og jeg synes rutinen bør være robust nok til at håndtere dette.


>> prøv evt.
>> Int(I + 0.5)
>
> ??
> Det vil da runde NED, så længe I < n,5
>

Du er da osse så pernitten

Ok, så denne:

   oprundet = IIf(UafrundetTal > Int(UafrundetTal), Int(UafrundetTal) + 1,
UafrundetTal)


Enig?


mvh
Krabsen



--
Sendt via Opera.
www.krabsen.dk
www.responsnord.dk
mfl

Jens Vestergaard (09-01-2004)
Kommentar
Fra : Jens Vestergaard


Dato : 09-01-04 20:05

"Gert Krabsen" <krabsen@krabsenfjernes.dk> skrev i en meddelelse
newsr1iuj8uo76ggyl@news.sunsite.auc.dk...
> Fri, 9 Jan 2004 18:07:01 +0100, Jens Vestergaard <j@railsoft.dk> skrev:
>
>
> Mjo, men hvis rutinen skal bruges i et program, der leverer tal med
> decimaler skulle det være mærkeligt, om der ikke på et tidspunkt koom et
> x,0 - og jeg synes rutinen bør være robust nok til at håndtere dette.

Det er korrekt - men når man i et svar her i gruppen skriver én sætning som
'løsning' på et problem, så tillader jeg mig at gå ud fra, at modtageren er
opmærksom på, at der naturligvis skal noget fejlhåndtering m.v. til... som i
al kode.

> Du er da osse så pernitten

Det er SÅ sjældent, at jeg kan stille mig klog an i denne NG. Så jeg lader
ikke chancen gå fra mig

> oprundet = IIf(UafrundetTal > Int(UafrundetTal), Int(UafrundetTal) + 1,
> UafrundetTal)
> Enig?

Det burde virke, ja

Jeg har ladet mig fortælle, at IIf funktionen er meget langsommere end en
almindelig If...Then..Else konstruktion... men det er jeg i øvrigt ikke
særlig klog på. Måske kan andre bidrage.

Selv bruger jeg den som regel ikke, fordi jeg synes, at det er lettere at
læse en If ... Then ...Else i flere linier. Men det er nok en smags- eller
tilvænningssag.

--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp





Gert Krabsen (09-01-2004)
Kommentar
Fra : Gert Krabsen


Dato : 09-01-04 21:02

Fri, 9 Jan 2004 20:04:36 +0100, Jens Vestergaard <j@railsoft.dk> skrev:


>> oprundet = IIf(UafrundetTal > Int(UafrundetTal), Int(UafrundetTal) + 1,
>> UafrundetTal)
>
> Det burde virke, ja
>
> Jeg har ladet mig fortælle, at IIf funktionen er meget langsommere end en
> almindelig If...Then..Else konstruktion... men det er jeg i øvrigt ikke
> særlig klog på. Måske kan andre bidrage.
>
> Selv bruger jeg den som regel ikke, fordi jeg synes, at det er lettere at
> læse en If ... Then ...Else i flere linier. Men det er nok en smags-eller
> tilvænningssag.

Jeg bruger den faktisk heller aldrig selv - af helt samme årsag:
Læselighed.

Men ovenpå min bøf følte jeg trang til at blære mig lidt med en een-linies
løsning i stedet for at skrive

if UafrundetTal > Int(UafrundetTal) then
oprundet = Int(UafrundetTal) + 1
else
oprundet = UafrundetTal
endif




mvh
Krabsen

p.s. det minder mig om gamle dage, da man endnu brugte
programmeringssproget APL. Det kunne stort set komprimeres, så et
årsregnskab for en bank kunne præsenteres på een linie - men _den_ var
ulæselig!

--
Sendt via Opera.
www.krabsen.dk
www.responsnord.dk
mfl

Tomas Christiansen (09-01-2004)
Kommentar
Fra : Tomas Christiansen


Dato : 09-01-04 22:28

Jens Vestergaard slrev:
> Jeg har ladet mig fortælle, at IIf funktionen er meget langsommere end en
> almindelig If...Then..Else konstruktion... men det er jeg i øvrigt ikke
> særlig klog på. Måske kan andre bidrage.

Forskellen på IIf og If er at i IIf bliver resultatet af både Then og Else
udregnet først, inden der tages stilling til hvilken ét af dem, som rent
faktisk skal bruges, hvorimod ved If, udføres kun den relevante del.

Jeg ser anvendelighed i brugen af IIf i f.eks. følgende situation:

Print "Du svarede: " & IIf(JaNejSvar, "Ja", "Nej")

-------
Tomas


Ole Nielsby (09-01-2004)
Kommentar
Fra : Ole Nielsby


Dato : 09-01-04 22:48


Henrik <dsl122981@vip.cybercity.dk> skrev:

> Hvordan kan man afrunde et tal så der altid rundes op

Prøv -Int(-x)



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste