Archief - VB .Net > Grote getallen niet "afkorten"

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.

grinshu

Legacy Member
Hallo

Iemand enig idee of het mogelijk is om extreem grote getallen in VB .Net te gebruiken zonder dat het Double datatype ze afkort?

Vb.:
6546546546546546546546546546546546546546545546
-> als ik dit getal naar een double convert dan maakt hij er bvb volgende van:
6546546546546546546546E+10

(getallen zijn random gekozen, duh)


Hoe kan ik dit voorkomen en er dus voor zorgen dat hij de getallen volledig typt?
ToString() doet helaas nix, converten naar string ook niet.

De reden wrm ik er een double van maak is omdat:
1) er commagetallen mogelijk zouden zijn
2) ik moet kunnen bewerkingen doen op de getallen

Alvast bedankt

Mee

Legacy Member
Ik vermoed dat je een van deze opties wel kan gebruiken om dat te bekomen.

Gebruik dus bv getal.ToString("D") voor je getal af te drukken. Ik weet niet dewelke juist uw getal volledig zal afdrukken...

PS: uw getal gaat niet worden afgekort; de juiste waarde zal wel in uw double zitten, maar hij wilt het getal gewoon niet volledig printen.

tha_rippa1be

Legacy Member
Ik denk dat ge beter een Int64 kunt gebruiken daarvoor en zelf rekening houden met waar de komma moet staan.
Zeker als het accuraat moet zijn kunt ge niet beter dan een 64 bit integer.

Edit: of ik lees nu net dat Decimal nog nauwkeuriger zou zijn.

grinshu

Legacy Member
Thanks allemaal

Ga zodadelijk eens proberen, zal dan iets laten weten. Zal dan ofwel met die integers zijn en comma zelf bepalen of met decimal. Der moet met die getallen worden gerekend dus tmoet wel just zijn.

tha_rippa1be zei:
Ik denk dat ge beter een Int64 kunt gebruiken daarvoor en zelf rekening houden met waar de komma moet staan.
Zeker als het accuraat moet zijn kunt ge niet beter dan een 64 bit integer.

Edit: of ik lees nu net dat Decimal nog nauwkeuriger zou zijn.

Ik dacht dat decimal niet groot genoeg was als ik mij niet vergis heb ik het al eens getest, straks nog eens proberen.

edit: blijkbaar is decimal ook niet volledig precies : http://visualbasic.about.com/od/usingvbnet/a/decdatatype.htm

Wel al beter ma bon, tmoet just zen !:p kga es proberen in 2 integers te kappen. 't Is uiteindelijk een projectje bedoeld om mijn glorieuze programmingskillz nog eens te heropfrissen.

tha_rippa1be

Legacy Member
grinshu zei:
Thanks allemaal

Ga zodadelijk eens proberen, zal dan iets laten weten. Zal dan ofwel met die integers zijn en comma zelf bepalen of met decimal. Der moet met die getallen worden gerekend dus tmoet wel just zijn.



Ik dacht dat decimal niet groot genoeg was als ik mij niet vergis heb ik het al eens getest, straks nog eens proberen.

edit: blijkbaar is decimal ook niet volledig precies : The Decimal data type in VB.NET

Wel al beter ma bon, tmoet just zen !:p kga es proberen in 2 integers te kappen. 't Is uiteindelijk een projectje bedoeld om mijn glorieuze programmingskillz nog eens te heropfrissen.

Ze maken daar in dat topic ook een referentie naar BigInteger.
En dat zijn integers van arbitraire grootte.
Beter dan dat gaat niet gaan he :)
.net 4.0 enkel wel
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