Vraag & Antwoord

Programmeren

VB 6.0 Decimaalberekeningen en landinstellingen.

5 antwoorden
  • Hoi allemaal Als ik met mijn programma in VB berekeningen maak dan gaat alles goed. Ik sla alles op als text en bij het rekenen maak ik er weer met VAL(textgetal) een mooi getal van. Maar................. Als ik via Start , instellingen, configuratiescherm bij landinstellingen naar getal ga en ik wijzig decimaalsymbool van ,(komma) naar . (punt) dan lopen de berekeningen met decimalen in de soep. Hoe kan dit, en is het te omzeilen, want het programma draait alleen goed op een PC met als decimaalsymbool een , (komma). Weten jullie raad ? groetjes, Yvonne.
  • De VAL function heeft een bekende bug met betrekking tot de regional settings. Gebruik in plaats van VAL de functie CDBL. Kijk eens naar de volgende MSDN documenten http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctVal.asp Greetz, Taz
  • mag het misschien geen bug noemen. Waar het om gaat is dat de VAL functie alleen de punt (.) als onderdeel van een getal ziet, onafhankelijk van de regional settings. CDBL houdt daar wel rekening mee, maar kan niet zo goed tegen niet numerieke karakters (afgezien van die gerelateerd aan getallen) Greetz, Taz
  • Hoi Tazzzzzzzzzzzz Bedankt, ik zal het uittesten met een testprogramma. groetjes, Yvonne :D
  • Beste Yvonne, Je getallen staan in tekstvorm in je programma. Je moet getallen met een punt als decimaal converteren naar een getal met een komma als decimaal. Maak de volgende sub private sub Conversie(textgetal) for Teller=1 to len(textgetal) strA=mid(textgetal,Teller,1) if strA="." then strGetal=left(textgetal,Teller-1) & "," & _ right(textgetal,len(textgetal)-Teller) exit for endif next Teller textgetal=strGetal end sub ga naar deze sub met: call Conversie(textgetal)

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

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