Har i ett VB program inet som hämtar ett värde från en textfil Det gamla "vanliga" felet. Du får in 3"punkt5, vilket är en skillnad mot 3"komma"5. Funktionen Val använder punkt som decimal separator: "Denna Eviga Vessla" som Ture Sventon sa. <b>knot är en knöl(knota), knott en ettrig djä... mygga</b> du menar förmodligen <b>Knop</b>Något fel blir det i beräkningen
exempelvis 2.1 (knot)
Jag ska sedan räkna om det till m/s
och det är ju 0.514
jag kör då
<code>
vindhastighet = vind * 0.514
</code>
Men det värdet stämmer inte
när jag skriver in det manuellt
<code>
vindhastighet = 3.5 * 0.514
</code>
då stämmer det
och jag tittar i variablen vind med msgbox så står det 3.5
Det är som den beräknar variablen vind som 35
Fixat, ska vara komma och inte punkt :)Sv: Något fel blir det i beräkningen
du får köra en Replace på punkten innan du använder variabeln.Sv: Något fel blir det i beräkningen
Dim vind As string
Dim vindhastighet As double
vind = "3.5"
vindhastighet = Val(vind) * 0.514
De impliceta typkonverteringarna samt CDbl() använder användarens decimalseparator.
Sv:Något fel blir det i beräkningen
Använd alltid (.) Punkt som decimalavskiljare.
ATT ! det skall vara så djävla svårt att få folk att acceptera detta Phuuuuuuuuuuuuuuuu.Sv: Något fel blir det i beräkningen
Bror Duktig säger Du använder felaktig omvandlingsfaktor. ;-)
Skall vara <b>0.54</b>
3.5 m/s * 0.54 = 1.89 knop
0.54 kommer ur jordkvadranten 90 gr (som är 10 000 000 m) är också 5400 minuter (90*60)
En båt som åker i 10 knop blir 10 / 0.54 = 18.518 km/h