1 messaggio dal 23 gennaio 2002
Ciao a tutti.
Il problema è questo:
ho 2 server con Win2K in inglese, entrambi settati con opzioni regionali in italiano (anche il default).
Tramite asp, scrivo un valore numerico (es. 1.936,69) in un campo tipo valuta - euro - 2 posizioni decimali
Il sistema è configurato (come dicevo prima) con la virgola come separatore decimale e con il punto per le migliaia.
Ebbene, in un server tutto funziona correttamente, mentre nel secondo (ovviamente quello pubblico...) mi sosituisce la virgola con il punto, ossia me lo scrive in formato inglese...
Vi lascio immaginare le cagate.....un articolo da 5.740,85 euro messo nel carrello, diventa un articolo da 5,74 euro
Ho provato con i vari LCID in testa alla pagina di scrittura, ho provato con vari formatnumber ma nulla da fare... L'unico modo per fargli scrivere correttamente è quello di impostare sul server il punto come separatore decimale e la virgola per le migliaia.... il problema è poi la lettura dei valori. Sembra che al secondo server non freghi un c....o di essere impostato in italiano.
DEVO IMPAZZIRE ??????
Mi sapete dare una spiegazione !!!???
Grazie a tutti.

Ing. Daniele Lionello
Syscape Italia S.r.l.
879 messaggi dal 09 luglio 2002
www.i-studio.it
Ciao,
io credo che a prescindere dalle impostazioni internazionali, quando esegui una istruzione SQL dove vai ad inserire un valore numerico, devi usare il formato con nulla come separatore di migliaia e il punto come separatore dei decimali:
1.950,23 deve diventare 1950.23
Questo anche perche' altrimenti hai problemi nella sintassi dell'SQL:

se il valore e' 1.950,23, dovresti avere:
INSERT INTO.... (...,campo1, campo2, campo3,...) VALUES (..., 'valore del campo1', 1.950,23, 'valore del campo3',...)
ma in questo modo la virgola che divide i decimali si confonde con la virgola che divide i campi della INSERT e quindi avresti l'errore.
Invece, se il tuo valore e' 1950.23, la INSERT diventa:
INSERT INTO.... (...,campo1, campo2, campo3,...) VALUES (..., 'valore del campo1', 1950.23, 'valore del campo3',...)
e cosi' non dovresti avere problemi.

In definitiva, quindi, se i valori ti vengono scritti nelle form nel formato con il punto come separatore delle migliaia e la virgola come separatore dei decimali, ti conviene crearti una funzione che applica due "replace" e sostituisci il punto con nulla e la virgola con il punto.

Ciao
Alex


Internetworking Studio Srl
www.i-studio.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.