Tja, undrar om någon vet varför min VB6 IDE ändrar 1.0 till 1#? Det blir så efter som 1.0 är samma som heltalet 1 vad mysko, är det därför jag får värdet 0.40000001 Detta är problemet med flyttal. Ibland finns det ingen bitrepresentation för vissa tal (t ex 4.00000) vilket säger sig själv. Det skulle krävas oändligt antal bitar för att beskriva ett oändligt antal flyttal. Mellan varje par av flyttal, oavsett hur nära de ligger, så finns det oändligt många andra flyttal. Så varje flyttalsdatatyp stödjer bara ett visst antal decimaler eller värdesiffror om man så vill. Läs manualen noga om du ligger nära gränsen för vad en datattyp klarar. Bra svar Hultan, där lärde jag mig också något. Hej Sven,Automatisk formatering i VB6 IDEn
Jag dekl ex.vis följande
<code>
Dim sngAntal As Single
sngAntal = 1.0
</code>
Flyttar jag fokus från den raden, kickar intellisense igång och ändrar min initiering av värde till 1#, alltså
<code>
sngAntal = 1#
</code>
Någon som vet varför? Betyder de samma sak i VB? Jag vill ha ett flyttal i sngAntal alltsåSv: Automatisk formatering i VB6 IDEn
Kanske störande men om du skriver tex 1.00001 så blir det rätt visuellt.
Egentligen ganska smart , om du skriver 1.0 så behandlas det som Long (heltal)
Ingenting att hänga upp sig på, acceptera det blir rätt .Sv: Automatisk formatering i VB6 IDEn
i databasen när jag egentligen lagrade värdet 0.4 i VB-programmet?
Så för att lagra rätt värde i dbn(sql server) måste jag alltså köra en format(0.00) varje gång ett värde ska lagras, eller?
Irriterande, men huvudsaken är ju att det blir rättSv: Automatisk formatering i VB6 IDEn
Spara aldrig ned avrundade värden i databasen om du har för avsikt att använda dom vidare i beräkningar eftersom du då får onödiga avrundningsfel i resultatet (förutom de som datattypen medför automatiskt).
Så ditt sätt att formatera talet innan du visar det för användaren är ju en bra lösning, så länge du inte visar fler decimaler än datatypen klarar. Sv: Automatisk formatering i VB6 IDEn
Kan väl inte bero på den gammla buggen i matematikprocessorn som avrundade fel ?Sv: Automatisk formatering i VB6 IDEn
Jag tror inte den "existerar" längre, eller? Det var väl bara i första generationens Pentium-processorer som den fanns (har för mig att jag hade en P90 som hade buggen)? Jag hoppas verkligen att dom inte lät den vara kvar ända tills dagens P4:or...