Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    534

    [VB6] problema con la int

    Ho questo numero: 721,20

    Applico questa funzione:

    (int(721,20*100))/100

    In teoria mi dovrebbe dare di nuovo 721,20, invece mi da 721,19

    perchè?

  2. #2
    Perchè devi usare Double per la precisione decimale che vuoi tu.

  3. #3
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    534
    la funzione e la variabile che passo sono già double

  4. #4
    Hai provato ad usare la funzione Format(valore, "0.00") ?

    Oppure posta la tua funzione int


  5. #5
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    534
    la funzione è questa:

    func = (int(n*100))/100

    n e func sono double.
    N deriva da una divisione. In questo caso questa divisione è:
    2163,60/3
    Quindi sarebbe:
    (int(721,2*100)/100
    DOvrebbe dare 721,2, invece mi da 721,19.
    Se trasformo la n in un single (int(csng(n)*100))/100 tutto funziona...

  6. #6
    beh DOuble richiede precisione doppia ma se gli passi 10.20 è come passare 10.2 quindi io userei Single e poi un bel Format ...

  7. #7
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151

    Re: [VB6] problema con la int

    Originariamente inviato da zaratustra
    Ho questo numero: 721,20

    Applico questa funzione:

    (int(721,20*100))/100

    In teoria mi dovrebbe dare di nuovo 721,20, invece mi da 721,19

    perchè?
    Ciao, non penso di avere un computer più intelligente..
    a me questo codice restituisce il valore esatto (721,20):
    codice:
    Dim n As Double
    Dim func As Double
    n = 721.2
    func = Int(n * 100) / 100
    Jupy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.