Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: somme decimali

  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    somme decimali

    prezzo_ok = 103.68
    prezzo_ok = 87.4
    totale_ok = cdbl(prezzo_ok)+cdbl(prezzo_ok1)

    stampo il totale

    totale_ok = 11242


    è errato perchè dovrebbe essere 19108

    ovvero 191.08

    Dove sbaglio... ?

  2. #2

  3. #3
    Originariamente inviato da Mems
    cint
    non è da te, mimmo. cint coi decimali?

  4. #4
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    embè ??


    stamo a guardà ?


    Il problema sembra stia nel fatto che in prezzo_ok ci sono 2 decimali in prezzo_ok1 solo 1 decimale...
    infatti se faccio 103.68 + 87.40 il risultato è quello corretto.

    Come faccio quindi a capire (senza splittare) che prezzo_ok contenga 1 o due decimali ?

  5. #5
    a me funzia. posta il codice vero

  6. #6
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    in effetti funziona se scorporo di valori...


    il codice (parte)

    codice:
    if valore <> "EUR" THEN
    prezzo_ok =  (mio_valore1  / valuta_ok ) * euro_value
    else
    prezzo_ok = mio_valore2
    end if
    
    if valore_rt <> "EUR" THEN
    prezzo_ok1= (mio_valorert1 / valuta_rt ) * euro_value
    else
    prezzo_ok1 = mio_valorert2
    end if
    
    'calcolo totali
    
    totale_ok = cdbl(prezzo_ok)+ cdbl(prezzo_ok1)
    response.write  totale_ok & "ddddddddddddddddddd
    "
    n.b i valori mio_valore sono estratti da un file xml che hanno una formattazione "100.00"
    ho fatto la prova con isnumeric e risultano tutti valori numerici.

  7. #7
    questo è il codice che ho provato. funzia. punto.

    codice:
    prezzo1=103.68
    prezzo2=87.4
    prezzox=cdbl(prezzo1)+cdbl(prezzo2)
    response.write "
    " & prezzox

  8. #8
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    Io continuo a riscontrare il problema...

    questo è il codice con relativo debug:

    codice:
    if valore <> "EUR" THEN
    prezzo_ok =  (objNode.selectSingleNode("Amount").nodeTypedValue / valuta_ok ) * euro_value
    response.write "prezzo_ok inside"& prezzo_ok &"
    "
    else
    prezzo_ok = objNode.selectSingleNode("Amount").nodeTypedValue
    
    response.write "prezzo_ok inside"& prezzo_ok &"
    "
    end if
    
    if valore_rt <> "EUR" THEN
    prezzo_ok1= (objNode.selectSingleNode("../../..//ReturnList/Return/Price/Amount").nodeTypedValue / valuta_rt ) * euro_value
    response.write "prezzo_ok1 inside"& prezzo_ok1 &"
    "
    else
    prezzo_ok1 = objNode.selectSingleNode("../../..//ReturnList/Return/Price/Amount").nodeTypedValue
    
    response.write "prezzo_ok1 inside"& prezzo_ok1 &"
    "
    end if
    
    
    'calcolo totali
    response.write valore &"
    "
    response.write valore_rt &"
    "
    totale_ok = Cdbl(prezzo_ok1) + Cdbl(prezzo_ok)
    response.write  "TOTALE = " & totale_ok & "
    "

    questo è quello che stampa

    prezzo_ok inside103.68
    prezzo_ok1 inside87.4
    EUR
    EUR
    11242

    oppure


    prezzo_ok inside144.69
    prezzo_ok1 inside144.69
    EUR
    EUR
    TOTALE = 28938

    come "vedete" i valori sommati ritornano un valore senza formattazione ne virgole ne punti...
    eppure la logica sembra quella usata da Optime.

  9. #9
    prova a mettere questo

    codice:
    'calcolo totali
    response.write valore &"
    "
    response.write valore_rt &"
    "
    
    prezzo_ok1 = Cdbl(prezzo_ok1)
    prezzo_ok = Cdbl(prezzo_ok)
    response.write "ok1...: " & prezzo_ok1 &"
    "
    response.write "ok...: " & prezzo_ok &"
    "
    
    totale_ok = Cdbl(prezzo_ok1) + Cdbl(prezzo_ok)
    response.write  "TOTALE = " & totale_ok & "
    "

  10. #10
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    ho risolto....

    era un problema di formato dati nella costruzione del valore.

    Grazie comunque.

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.