Visualizzazione dei risultati da 1 a 9 su 9

Discussione: problema SOMMA

  1. #1

    problema SOMMA

    domanda da 1 milione di euro (non ci sperate ...):

    ho un db access con dei comapi testo nei quali ho dei valori es:

    1,2 e 3,3

    dichiaro le variabili prese da DB sostituendo la virgola con il punto:

    strSPREAD = rs.Fields("spread")
    strSPREAD = Replace(strSPREAD,",", ".")
    strTAN = rs.Fields("tan")
    strTAN = Replace(strTAN,",", ".")

    .. vorrei quindi eseguire una banale somma, ma invece che avere un bel 4,5 mi ritrovo un 1233 !!!

    quindi non mi fa la somma ma accoda i valori:

    int(strSPREAD+strTAN)

    ho cercato a lungo ma non trovo la soluzione.

    GRAZIE!
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  2. #2
    1) magari la prossima volta salvali come double nel db e non come testo

    2)
    strSPREAD = rs.Fields("spread")
    strSPREAD = cdbl(Replace(strSPREAD,",", "."))
    strTAN = rs.Fields("tan")
    strTAN = cdbl(Replace(strTAN,",", "."))

    ps: magari il replace col cdbl è inutile, non so

    3) somma=cdbl(strSpread + strTan)


  3. #3
    purtroppo nulla da fare ...
    comunque forse il problema sta nei campi.

    tu mi indichi DOUBLE ... a cosa corrsiponde in Access??

    in access a parte il campo testo, non trovo un campo numerico che mi contenga le virgole.
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  4. #4
    metti campo numerico e in generale metti al posto di intero precisione singola (se vuoi un decimale) o precisione doppia (due decimali)

  5. #5
    ok ti ringrazio del chiarimento ... ho modificato.

    ora xrò il problema è parzialmente diverso:

    3,2 + 4,2 = 74

    quindi lui da un bel 32 + 42 ...
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  6. #6
    prendendo i valori dal db?

  7. #7
    si, sempre i dati dal db.

    comunque, togliendo il replace della virgola con il punto funziona!!!

    adesso però (storia infinita ...) ottengo:


    al posto di 7,4 un 7,39999985694885

    ne uscirò mai fuori?
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  8. #8
    Originariamente inviato da MrRam
    si, sempre i dati dal db.

    comunque, togliendo il replace della virgola con il punto funziona!!!

    adesso però (storia infinita ...) ottengo:


    al posto di 7,4 un 7,39999985694885

    ne uscirò mai fuori?
    ma nel db i dati sono giusti?

    cmq si, se li prendi dal db non dovevi fare il replace

  9. #9
    ok, mi funziona tutto, grazie davvero per il tuo aiuto!

    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

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 © 2026 vBulletin Solutions, Inc. All rights reserved.