Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Gestione decimali ...

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    95

    Gestione decimali ...

    Ciao a tutti, ho spesso problemi nella gestione delle virgole in applicazioni .NET e spero che qualcuno possa, finalmente, chiarirmi le idee...

    Sistemi Operativi utilizzati:
    Windows 2003 ENG
    Windows 2000 ITA

    Globalizzazione usata nel web.config:
    <globalization requestEncoding="utf-8" responseEncoding="utf-8"
    culture="it-IT" uiCulture="it-IT" />


    Data Base Access con un campo impostato come Numerico, precisione doppia

    per salvare i dati nel DB faccio:

    myCommand.Parameters.Add(new OleDbParameter("@Valore", OleDbType.VarChar));
    oppure
    myCommand.Parameters.Add(new OleDbParameter("@Valore", OleDbType.Decimal));

    e poi:
    myCommand.Parameters["@Valore"].Value = importo.ToString();


    in ogni sistema operativo ottengo risultati differenti... esempio

    con Decimal:
    - OK in Windows 2003 ENG
    - non viene considerata la virgola in Windows 2000 ITA (200,12 diventa 20012)

    con VarChar
    OK in Windows 2000 ITA
    problemi vari con Windows 2000 ITA

    quindi mi trovo in una situazione in cui: nel s.o. di sviluppo è tutto OK e poi in produzione ho problemi ... oppure devo sviluppare con problemi nella gestione delle virgole.. sapendo che nella versione in produzione sarà tutto OK :-((((


    Vorrei capire quale soluzione adottare per poter gestire in modo corretto (a prescindere dal S.O. o dal tipo di DB: Oracle, MSSQL, MySQL) i campi decimali... non credo che io debba creare campi ti tipo char nel DB per evitare questo problema ... (almeno spero che non sia così)

    Grazie a tutti e scusate per il post un po lungo.... ma volevo esporre nel dettaglio il problema!

    Bye

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    95
    Nessun suggerimento???

    sono l'unico ad avere questi problemi???? ufffff

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    95
    Sono ancora perso nei meandri di questo casino...

  4. #4
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Forse non ho capito ma, se il problema è per la visualizzazione e, non per l'inserimento puoi utilizzare un format così:
    codice:
    Format(Numero_da_formattare, "###,###,###,##0.00")
    Che ti ritorna ad esempio 234.245.209,16 oppure 0,00 se il numero è 0
    qualunque sia la localizzazione della macchina sulla quale gira il programma.
    Ciao
    Legnetto

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    95
    Il problema è proprio per il salvataggio ... mi salva il numero senza virgola :-(

  6. #6
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419

    Re: Gestione decimali ...

    Prova così:
    Originariamente inviato da Ranzani
    ....
    myCommand.Parameters["@Valore"].Value = Convert.ToDecimal(importo)
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    95
    Ma il campo nel DB cosa deve essere?

    Decimal o char??


    e importo di che tipo è??

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.