[BASIC]Afronden en komma's

Pagina: 1
Acties:
  • 241 views sinds 30-01-2008
  • Reageer

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 14-05 03:35
Ik ben bezig met een programmatje voor mn Casio rekenmachine, die draait op Basic, maar ik kan vrij weinig goede info vinden over Basic.

Ik wil een berekening uitvoeren door 2 te delen en dat antwoord af te ronden op 2 cijfers achter de komma. Dat lukt nog met ROUND, alleen nu wil ik dus verder werken met alleen die 2 cijfers achter de komma. Hoe kan splitsen op de komma?

Ik wil ook een getal naar boven of beneden afronden.. Is daar ook een commando voor?

[ Voor 11% gewijzigd door Megamind op 27-01-2004 11:45 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Naar beneden afronden = gewoon afkappen
Naar boven afronden = afkappen en 1 er bij optellen
Splitsen op de komma kan met string.split, of right(var, 2).

Beetje een simpele zoekvraag dit.

  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 26-03 21:19
Van Basic weet ik niet veel, maar je zou alleen getallen achter de komma kunnen krijgen.

Leg het ff uit a.d.v het volgende voorbeeld:

a = 2.23
b = a - ROUND(a)
als (b<0) b = 1-b

Kan vast sneller, korter, beter, maar misschien heb je er iets aan

Als je een rond-af-naar-beneden-functie vindt kan het zo:
a = 2.23
b = a - Rond-Af-Naar-Beneden(a)

  • Rannasha
  • Registratie: Januari 2002
  • Laatst online: 27-05 15:20

Rannasha

Does not compute.

pseudo-code:

getal-achter-de-komma = getal - ROUND(getal-0.5), misschien dat hier ook een standaardfunctie voor is, op mijn TI-rekenmachine zit die wel.

naar-beneden-afgerondt = ROUND(getal-0.5)
naar-boven-afgerondt = ROUND(getal+0.5)

|| Vierkant voor Wiskunde ||


  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Heeeeeel lang geleden dat ik met Basic gewerkt heb. Volgens mij zijn deze afrondcommando's niet standaard; ze verschillen tussen de diverse Basic versies.
Dit alles zal toch wel in de user manual staan dunkt mij.
Een simpel alternatief (voor a>0) zou kunnen zijn:
code:
1
b=int(a*100+0.5)/100


Voor getal achter de komma (voor a>0 kun je abs weglaten):
code:
1
f=abs(a)-int(abs(a))

[ Voor 16% gewijzigd door Henk007 op 27-01-2004 11:58 ]


  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 14-05 03:35
En als ik nou af wil ronden 2 cijfers achter de komma..

Ik krijg bijvoorbeeld 312,28 eruit dan wil ik die ,28 weer verder mee werken en die 312 ook..

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Ok daar gaan we dan.

[voorkauwmode aan]

Stel je begin getal is a=328.12345

Afronden naar 2 cijfers:

b=int(a*100+0.5)/100
uitkomst(b=328.12)

breukdeel f eruit halen:
f=b-int(b)
uitkomst f=0.12

Gehele deel i eruit halen:
i=int(b)
uitkomst : i=328
[voorkauwmode uit]

Deze voorbeelden alleen voor a>0 en met speciale afrondfunkties van je Casio (zie manual....) werkt het wellicht iets efficiënter.
Succes

[ Voor 19% gewijzigd door Henk007 op 27-01-2004 12:14 ]


  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 14-05 03:35
Ok henk ik ben eruit het was best simpel ja, maar ik heb die Casio FX-880P met een vage handleiding waar niks in staat zowat over Basic programmeren, maar hij werkt nu :)
Pagina: 1