Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Visual Basic: calculator [opgelost]

Anoniem
blackhawkdesign
11 antwoorden
  • Hallo,

    Ik zit met het volgende: ik ben een calculator aan het maken, deze werkt goed, er is alleen een ding hij kan niet met comma getallen overweg; wat het probleem is, is dat de punt eruit word gefiltert nadat de waarden door e Int() functie gaat.

    [werking:]
    dim rij1
    dim rij2

    … isgelijkaan()

    bijv:
    dim uitkomst = int(rij1) + int(rij2)



    code is alleen om een beeld van de echte te schetsen.
  • door de int functie gaan?

    Definieer je je de getallen als ints? Dan is het logisch dat alles achter de komma verdwijnt:

    Een int is altijd een heel getal. Dus 5,58 wordt 5. Als je komma's wilt gebruiken kan je een double gebruiken om de waardes en het resultaat in op te slaan.

    Succes!
  • [quote:222474ed7c="blackhawkdesign"]door de int functie gaan?

    Definieer je je de getallen als ints? Dan is het logisch dat alles achter de komma verdwijnt:

    Een int is altijd een heel getal. Dus 5,58 wordt 5. Als je komma's wilt gebruiken kan je een double gebruiken om de waardes en het resultaat in op te slaan.

    Succes![/quote:222474ed7c]

    Heel erg bedankt, echt stom van me.
    Ik heb echter nog een vraagje: hoe zet je een string om in een double? dim rij1 as double werkt wel, maar deze staat geen comma's (<– punten op de pc nattuurlijk) toe.
  • Met een double kan je komma getallen gebruiken. Dat doet hij volgens mij met een punt ipv van een komma(amerikaanse notatie)

    Wil je dit toch met een komma weergeven dan kan je dit met een cultureinfo object doen.

    Je kan ook een string parsen naar een double.

    Volgens mij is dat double.parse of double.tryparse..

    De precieze notatie in vb weet ik niet, ik programmeer namelijk niet in die taal :)

    Succes!
  • Met een double kan je komma getallen gebruiken. Dat doet hij volgens mij met een punt ipv van een komma(amerikaanse notatie)

    Wil je dit toch met een komma weergeven dan kan je dit met een cultureinfo object doen.

    Je kan ook een string parsen naar een double.

    Volgens mij is dat double.parse of double.tryparse..

    De precieze notatie in vb weet ik niet, ik programmeer namelijk niet in die taal :)

    Succes!
  • [quote:472b23eb52="blackhawkdesign"]Met een double kan je komma getallen gebruiken. Dat doet hij volgens mij met een punt ipv van een komma(amerikaanse notatie)

    Wil je dit toch met een komma weergeven dan kan je dit met een cultureinfo object doen.

    Je kan ook een string parsen naar een double.

    Volgens mij is dat double.parse of double.tryparse..

    De precieze notatie in vb weet ik niet, ik programmeer namelijk niet in die taal :)

    Succes![/quote:472b23eb52]
    Hey bedankt, ga ik proberen
  • … code is opgelost …
  • Wanneer ik trouwens van "dim rij1 as string" "Dim rij1 as double" maak dan kan ik er geen punt meer bij voegen
  • Oke even het volgende:

    een datatype string is om tekst in te noteren en doubles, ints om komma- of hele getallen in te noteren.

    Je rij1, rij2 en resultaat moeten dus van het type double zijn. Nu zie ik dat je die rij 1 voor meerdere dingen gebruikt, dus om mee te rekenen en je tekstbox bij te werken. Ik zou direct je tekstbox bijwerken.

    Dus zo:

    textbox1.text += invoer

    Wanneer je je textboxen uitleest krijg je inderdaad een string terug, maar deze moet je natuurlijk omzetten naar een double om mee te kunnen rekenen.

    Daarvoor gebruik je inderdaad die double.parse. Ik zou echter alleen gewoon de textbox.text meegeven, niets meer. En natuurlijk het resultaat teruggeven, vorm het om tot zoiets :

    rij1 = Double.Parse(TextBox1.text)

    Daarna moet je het resultaat nog tonen, met tostring werkt dit.

    Wil je echt een komma in plaats van een punt tonen in je resultaat, laat maar weten.
  • [quote:0cec63da9c="blackhawkdesign"]Oke even het volgende:

    een datatype string is om tekst in te noteren en doubles, ints om komma- of hele getallen in te noteren.

    Je rij1, rij2 en resultaat moeten dus van het type double zijn. Nu zie ik dat je die rij 1 voor meerdere dingen gebruikt, dus om mee te rekenen en je tekstbox bij te werken. Ik zou direct je tekstbox bijwerken.

    Dus zo:

    textbox1.text += invoer

    Wanneer je je textboxen uitleest krijg je inderdaad een string terug, maar deze moet je natuurlijk omzetten naar een double om mee te kunnen rekenen.

    Daarvoor gebruik je inderdaad die double.parse. Ik zou echter alleen gewoon de textbox.text meegeven, niets meer. En natuurlijk het resultaat teruggeven, vorm het om tot zoiets :

    rij1 = Double.Parse(TextBox1.text)

    Daarna moet je het resultaat nog tonen, met tostring werkt dit.

    Wil je echt een komma in plaats van een punt tonen in je resultaat, laat maar weten.[/quote:0cec63da9c]

    Heel erg bedankt, ik denk dat het zo wel moet lukken!
  • O MIJN GOD!!!! DOUBLE REKENT MET COMMA'S!

    Het werkt inderdaad, ik was er echter sterk van overtuigt dat de computer met punten rekent en NIET met comma's.

    Toen het steeds bleef mislukken heb ik het voor de grap eens met een comma geprobeerd, raar eens…

    coputers…. onbegrijpelijke calculatoren… beven mijn verstand :P

    Erg bedankt voor je hulp!

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.