Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Int i VB6

Postades av 2004-11-10 09:56:31 - Bo Johansson, i forum visual basic - allmänt, Tråden har 8 Kommentarer och lästs av 736 personer

Hej!
Varför detta fenomen?

Dim Moms1
Dim Belopp
Moms1=25
Belopp=Int(Moms1)

Belopp blir 24
Varför då då??
/Bo


Svara

Sv: Int i VB6

Postades av 2004-11-10 10:50:41 - Roland Ringhede

Jag får det till att bli 25

Men mera rätt borde du deklarera variablerna på rätt sätt i VB

Exempelvis


Dim Moms1 As Double
Dim Belopp As Integer
Moms1=25
Belopp=Int(Moms1)

Eftersom Int ger heltalsdelen i formen "Integer" så borde den deklarerats som Integer

från VB hjälp
"Both Int and Fix remove the fractional part of number and return the resulting integer value"

De deklarationer som du gjort av "Moms1" och Belopp blir i formen "Variant"


Svara

Sv: Int i VB6

Postades av 2004-11-10 11:13:59 - Åsa Holmgren

Jag får Belopp=25 hur jag än deklarerar variablerna...
/Åsa


Svara

Sv: Int i VB6

Postades av 2004-11-10 11:20:17 - Bo Johansson

Moms1 = (KortTrans.ArtMoms(i) * 100) / (KortTrans.ArtAPris(i) * KortTrans.ArtAntal(i) - KortTrans.ArtMoms(i))

Är hela sanningen. KortTrans.* är alla double

Det hjälper inte att deklarera variablerna, vilket jag alltid brukar göra. Vad som
hjälper är detta:

Moms1 = Format(Moms1, "#######0.00")

Belopp=Int(Moms1)

Jag tycker att det hela är mysko

/Bo


Svara

Sv: Int i VB6

Postades av 2004-11-10 11:26:25 - Martin Adrian

Antagligen blir Moms1 = 24.999... vilket med Int blir 24. Är det verkligen heltalsdelen och inte ett avrundat värde du vill ha?


Svara

Sv: Int i VB6

Postades av 2004-11-10 11:33:05 - Roger Alsing

det är ett problem med flyttal , folk utgår ofta från att om din double är 25 så är den exakt 25 vilket inte är fallet , den är bara _väldigt_ nära 25... det kan vara så att den är 24.9999999999999999999999 även om debuggern skulle visa det som 25.. och skickar du då in det talet till "int(..)" så får du 24

//Roger


Svara

Sv: Int i VB6

Postades av 2004-11-10 13:00:15 - Bo Johansson

Tackar alla för hjälpen!
Det troliga är att värdet inte är 25 utan 24 någonting som du Roger påpekar. Världen är inte
alltid vad den synes vara.
/Bo


Svara

Sv: Int i VB6

Postades av 2004-11-10 17:19:10 - Roland Ringhede

Detta ämne har diskuterats här tidigare. Prova att söka i forumet så hittar du säker mer fakta om varför det blir så.


Svara

Sv: Int i VB6

Postades av 2004-11-12 12:10:37 - Sven Åke Persson

Det mest korrekta är att skriva

Dim Belopp As Long
Belopp=CLng(Moms1)


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 718
27 958
271 751
3 304
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies