Archief - Getallen afronden in C++

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ovidius

Legacy Member
Goededag,

Ik was vandaag eens begonnen met kleine programmaatjes te maken in C++.
Ik gebruik Visual Studio 2012 Express (gratis versie) en wil graag een GUI
(Windows Form Application) maken, dus geen console applicatie.

In de console weet ik hoe je getallen tot een bepaald aantal decimalen kan weergeven maar in
textboxes lukt het mij niet.
Commando's zoals setprecision(3) of digits(2) werken niet.

Iemand een idee ?


Groeten,

Ovidius

Tyfius

Legacy Member
Nochtans is dat waar je naartoe moet.

In principe geeft een textbox alleen een string weer. Maar wat jij in die string steekt of er uit haalt moet een getal zijn. Dus jij kan je double of float een precisie geven en nadien naar een string converteren die je dan in je textbox steekt. Vaak bestaan er echter numerical textboxes die die functionaliteit aan boord hebben.

De vraag is dan echter: welk UI framework gebruik je. Je spreekt van een Windows Forms Application, maar die templates bestaan in VS2012 niet meer. Dus doe je het ofwel zelf, en gebruik je dan Visual C++/CLI in combinatie met Windows Forms. Of gebruik je C#, of gebruik je MFC, ... ?

Tyfius

Legacy Member
Aha, het is dus Visual C++/CLI. Let op, dat is niet helemaal hetzelfde als C++.

Visual C++/CLI maakt gebruik van het .NET framework. (Ja, dat is niet alleen voor C# of VB.NET) Om af te ronden kan je dan Math::Round() gebruiken, en nadien een .ToString() om dat naar een string om te zetten alvorens je dat naar je textbox stuurt.

Ovidius

Legacy Member
Math::Round() werkt prima.
Bedankt voor de tip Tyfius.

ps: Wat is dan het verschil met C++ en Visual C++ ?
Heb op school altijd visual studio express gebruikt, en we noemden dat gewoon C++.
Waar zou ik nog voorbeelden kunnen vinden voor grafische applicaties in Visual C++ ?
Ik heb youtube al geraadpleegd, leuke voorbeelden te vinden, maar beetje beperkt.

Tyfius

Legacy Member
C++ is de klassieke C++. Hierin compileer je rechtstreeks naar machine code.
Visual C++/CLI (zoals de officiële naam is) is een C++ syntax implementatie die het .NET framework gebruikt. Hier compileer je naar IL code en heb je het .NET framework nodig om de applicatie te runnen. Je hebt dus ook toegang tot een hoop uitbreidingen die standaard C++ niet heeft. Bijvoorbeeld een Garbage Collector voor bepaalde types.

Eigenlijk maak jij dus nu .NET code, die je dan kan aanroepen in een VB.NET, C# applicatie. Want onderliggend is alle IL code gelijk.

Meer info op http://msdn.microsoft.com/en-us/magazine/cc163681.aspx en http://en.wikipedia.org/wiki/C++/CLI
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan