Avatar billede jensborgbjerg Nybegynder
03. juli 2005 - 19:32 Der er 2 kommentarer og
2 løsninger

Runde ned i Lingo

Hej

Jeg søger hjælp til følgende problemstilling:
Jeg har brug for en kommando, der sørger for altid at runde et floating point number ned. Dvs. 2.15 skal blive til 2 og 3.75 skal blive til 3. I sidste tilfælde runder man normalt op, men jeg har brug for en kommando således, at man altid runder ned.

Venter i spænding.
Avatar billede kanding Nybegynder
03. juli 2005 - 20:47 #1
Lingo mangler Math objektet fra f.eks ActionScript hvor man bruger .ceil til at runde op og .floor for at runde ned.

Jeg har ikke noge decideret matematisk udregning af det sådan lige, men en let løsning er denne:

on FLOOR num
  oldDelim = the itemdelimiter
  the itemdelimiter  = "."
  a = string(num)
  the itemdelimiter = oldDelim
  return value(a.item[1])
end

Prøv i message vindue at skrive:

put FLOOR(8.4645646)


Den er ikke hurtig da den arbejder med strings, men den virker da ;-)
Avatar billede jensborgbjerg Nybegynder
11. juli 2005 - 14:35 #2
Tusind tak for hjælpen - jeg havde ikke forestillet mig, at det det ville være nødvendigt at benytte strings!
Avatar billede kanding Nybegynder
11. juli 2005 - 15:14 #3
Som sagt, så kan der være en matematisk metode jeg ikke lige kender.
Avatar billede kanding Nybegynder
12. juli 2005 - 10:20 #4
Her er en matematisk model. Kortere, hurtigere

on FLOOR num
  return integer(num - 0.5)
end

on CEIL num
  return integer(num + 0.5)
end

Husk lige at lukke spørgsmålet ved at acceptere det
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