anoniem Geplaatst: 11 november 2003 Delen Geplaatst: 11 november 2003 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. Quote Link naar reactie
anoniem Geplaatst: 11 november 2003 Auteur Delen Geplaatst: 11 november 2003 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 Quote Link naar reactie
anoniem Geplaatst: 11 november 2003 Auteur Delen Geplaatst: 11 november 2003 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 Quote Link naar reactie
anoniem Geplaatst: 11 november 2003 Auteur Delen Geplaatst: 11 november 2003 Hoi Tazzzzzzzzzzzz Bedankt, ik zal het uittesten met een testprogramma. groetjes, Yvonne :D Quote Link naar reactie
anoniem Geplaatst: 16 november 2003 Auteur Delen Geplaatst: 16 november 2003 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) Quote Link naar reactie
anoniem Geplaatst: 16 november 2003 Auteur Delen Geplaatst: 16 november 2003 Hoi Overhaus Dit ga ik uittesten. Trouwens wel leuk dat er weer wat code over het scherm rolt, en bedankt voor je reactie. groetjes, Yvonne Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen