|
| Nøjagtighed i beregninger Fra : Ranum Byggemontering~ |
Dato : 13-06-03 11:12 |
|
Hej
Jeg er ved at blive tosset nu.....
Hvorfor regner VB6 unøjagtigt. Jeg beregner nogle formler der indeholder
Cos, Sqr m.v.
Allerede efter 4-6 decimaler er der forskelle i forhold til en alm
lommeregner.
Ved meget små tal ( ex 0,0046632) giver det meget store forskelle når de
indgår i trigonometri.
Jeg har erklæret alle mine variabler som Double.
Kan man definere hvor nøjagtigt VB skal regne???!!
Jørn
| |
neumann verner (16-06-2003)
| Kommentar Fra : neumann verner |
Dato : 16-06-03 18:39 |
|
Hej Ranum
når du bruger decimaltal så indtast dem med et "," ikke med et "." og husk
at VB opfatter alle argumenter til trigometriske funktioner som radianer og
ikke grader.
så sin(180) er altså sin til 180 radianer
med venlig hilsen
Verner Neumann
"Ranum Byggemontering A/S" <jorn@rbm.dk> wrote in message
news:3ee9a197$0$13213$edfadb0f@dread15.news.tele.dk...
> Hej
>
> Jeg er ved at blive tosset nu.....
>
> Hvorfor regner VB6 unøjagtigt. Jeg beregner nogle formler der indeholder
> Cos, Sqr m.v.
> Allerede efter 4-6 decimaler er der forskelle i forhold til en alm
> lommeregner.
>
> Ved meget små tal ( ex 0,0046632) giver det meget store forskelle når de
> indgår i trigonometri.
>
> Jeg har erklæret alle mine variabler som Double.
>
> Kan man definere hvor nøjagtigt VB skal regne???!!
>
> Jørn
>
>
>
| |
Peter Lykkegaard (17-06-2003)
| Kommentar Fra : Peter Lykkegaard |
Dato : 17-06-03 13:49 |
|
"neumann verner" <vakse.viggo@mail.dk> wrote in message
news:3eee009b$0$76055$edfadb0f@dread11.news.tele.dk...
> når du bruger decimaltal så indtast dem med et "," ikke med et "."
Det kommer vel an på hvordan sprog indstillinger mv er sat...
mvh/Peter Lykkegaard
| |
Henrik Alsing Peders~ (17-08-2003)
| Kommentar Fra : Henrik Alsing Peders~ |
Dato : 17-08-03 19:56 |
|
> Kan man definere hvor nøjagtigt VB skal regne???!!
Ved jeg ikke, men du kan helt sikkert bruge noget der er bedre en doubles!
Du skal erklære dine variabler som Variant...
Men ikke nok med det (det i sig selv gør ingen forskel), du skal også sørge
for at binde dine regnestykker ind i cdec()...
Const Pi As Variant = "3,1415926535897932384626433833"
Const X As Variant = "0,0174532925199432957692369077"
Private Sub Form_Load()
MsgBox CDec(Pi) * CDec(X)
End Sub
Læg mærke til hvor mange decimaler du får tilbage ved bare at bruge CDec!
Dette virker dog ikke når der skal regnes med sin() og cos() og andre
inbyggede functioner!
| |
|
|