PDA

View Full Version : [VB2010] - Operazioni con i numeri decimali


lucausa75
07-12-2010, 20:28
Salve ragazzi,

ho un problema nella gestione dei numeri decimali in un database access;

con questo codice

INSERT INTO [Elenco Libri] ([Weight]) VALUES ('12,87') inserisco il valore 12.87 (valore decimale) all'interno del campo Weight che a livello di database è di tipo numerico con Precisione singola.

Il valore 12,87 proviene da questa variabile:

StrValues = StrValues & "'" & CStr(CSng(Ele.Text)) & "'," e si può notare come ho dovuto convertire in stringa il valore della textbox contenente il valore decimale con la virgola.

Se utilizzo questo codice e lo faccio girare in un sistema operativo in inglese, all'interno del database avrò 1287 anzichè 12,87; in un sistema operativo italiano tutto funziona correttamente.

Non esiste un modo per utilizzare sempre e in ogni caso il punto e non la virgola per i decimali?

Grazie 1000!

MarcoGG
07-12-2010, 20:36
Luca, davvero, fatti un favore. Basta concatenare in quel modo :

OleDbParameters
OleDbParameters
OleDbParameters

Non lo ripeto più... :D :p

lucausa75
07-12-2010, 20:45
Luca, davvero, fatti un favore. Basta concatenare in quel modo :

OleDbParameters
OleDbParameters
OleDbParameters

Non lo ripeto più... :D :p


si ok ma prima di iniziare con gli OleDbParameters debbo finire il progetto con la strada già intrapresa! :cry:

jackk87
08-12-2010, 11:20
Non esiste un modo per utilizzare sempre e in ogni caso il punto e non la virgola per i decimali?


Ciao io seguirei la strada consigliata da MarcoGG però potresti fare una cosa arrangiata utilizzando il Replace in modo che se all'interno c'è una virgola la sostituisce altrimenti no quindi una cosa del genere
Replace("Textbox1.text,",",".") :D

lucausa75
08-12-2010, 11:24
Ciao io seguirei la strada consigliata da MarcoGG però potresti fare una cosa arrangiata utilizzando il Replace in modo che se all'interno c'è una virgola la sostituisce altrimenti no quindi una cosa del genere
Replace("Textbox1.text,",",".") :D


Ottima idea la tua, già arrangiata da me, ma se utilizzi il programma in un sistema dove è impostata la virgola e no il punto come separatore il tuo/nostro replace non risolve il problema; invece dando un'occhiata a questo link penso di avere risolto: http://www.settorezero.com/wordpress/vbnet-risolvere-i-problemi-dei-separatori-decimali-punto-o-virgola/

jackk87
08-12-2010, 11:27
Perfetto :D

MarcoGG
08-12-2010, 11:36
Ottima idea la tua, già arrangiata da me, ma se utilizzi il programma in un sistema dove è impostata la virgola e no il punto come separatore il tuo/nostro replace non risolve il problema; invece dando un'occhiata a questo link penso di avere risolto: http://www.settorezero.com/wordpress/vbnet-risolvere-i-problemi-dei-separatori-decimali-punto-o-virgola/

Ma prometti che finito quel progetto abbandonerai il lato oscuro... :D

lucausa75
08-12-2010, 11:38
Ma prometti che finito quel progetto abbandonerai il lato oscuro... :D

si ma non so se ti conviene perchè ti martellerò e tanto :D

Cmq davvero grazie a te Marco per i consigli utilissimi che mi hai dato!

MarcoGG
08-12-2010, 11:49
si ma non so se ti conviene perchè ti martellerò e tanto :D

Cmq davvero grazie a te Marco per i consigli utilissimi che mi hai dato!

E allora non capisco cosa ti ci vuole per scriverlo sulla mia bacheca ! :D :p :D
( no davvero, non voglio sembrare uno scassapalle, voglio solo veder decollare la mia paginetta FB, attirando soprattutto gli utenti che ho aiutato... :D ).

lucausa75
08-12-2010, 11:52
E allora non capisco cosa ti ci vuole per scriverlo sulla mia bacheca ! :D :p :D
( no davvero, non voglio sembrare uno scassapalle, voglio solo veder decollare la mia paginetta FB, attirando soprattutto gli utenti che ho aiutato... :D ).

Fatto!

lucausa75
08-12-2010, 13:01
Ciao MarcoGG quì c'è post per te: http://www.hwupgrade.it/forum/showpost.php?p=33868599&postcount=15

Grazie
:D