Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con i decimali

Ho un problemino con i decimali in un campo di tipo valuta euro: se
inserisco per es. 12,75 la virgola viene considerata come separatore
delle migliaia, quindi in realtà scriverò nel db 1275. Se digito 12.75
il punto viene preso come separatore decimale, però il record viene
salvato con la virgola al posto del punto... 
insomma, abbastanza bruttino a vedersi... credo sia gia capitato a
qualcuno.. avete idee in merito?
Grazie 
Gil
--
Ho trovato un sito eccezionale: te poi scarica' la coscienza. 
S. Disegni
Clicca sul link per contattarmi direttamente da ICQ
http://msg.mirabilis.com/scripts/contact.dll?msgto=32405502

 salvato con la virgola al posto del punto...
definisci "record"
Ciao
--
' // Initialize the expression evaluator
Engines.Evaluator = CreateObject("
http://www.neodatatype.net
")
' // you can find resources for and from the NG here!
Me.SitoComune = "
http://www.it-lang-vb.net
"

Ciao
Pardon, volevo dire campo... trattasi di campo di tipo valuta, su
access ho stabilito che il formato deve essere "euro"


 access ho stabilito che il formato deve essere "euro"
Mi pare evidente che stai confondendo ciò che *vedi* con ciò che *è*.
Il campo viene salvato correttamente (altrimenti non si spiegherebbero i
decimali corretti), poi se lo vedi con access che formatta il valore tramite
le impostazioni internazionali è un altro discorso.



hai controllato le impostazioni internazionali nel pannello di controllo?
a me e' successo che mancasse il separatore decimale
e succedevano cose strane
bye
R

le impostazioni internazionali è un altro discorso.
Non è così, il campo viene salvato male.... ripeto: se scrivo 12
*virgola* 75, il campo verrà salvato così 1275. Quindi come posso
confondere cio che vedo con cio che viene scritto?
L'unico modo per salvare un decimale è usare il punto, ma nn deve
essere così, anche perché io digito 12 *punto* 75, ma il campo viene
scritto usando la virgola. Insomma, io digito una cosa, e nel campo ne
viene scritta un'altra


 e Piero si incontrarono nella radura di
Sherwood (it.comp.lang.visual-basic), dicendo:

Controllate, sono ok: la valuta è del tipo € 123.456.789,00
cmq grazie :)


 Controllate, sono ok: la valuta è del tipo ? 123.456.789,00
ok, ma adesso dimmi:
con quale programma inserisci i dati?
ACCESS o un programma fatto in VB?
bye
R

 viene scritta un'altra
Come prima, dipende dalle impostazioni internazionali e dallo stumento usato
per scrivere/visualizzare il dato.


Ti vedrai scritto 12,75? allora l'inserimento *è* corretto.
A me nn sembra una cosa corretta che l'utente finale digiti 12.75, e
poi quando si sposta tra i record vede cio che ha scritto prima in
un'altro formato: 12,75. 
In definitiva vorrei trovare un sistema per cui nell'inserimento della
textbox la virgola viene usata come separatore dei decimali e il punto
come separatore delle migliaia, quindi lo stesso formato con il quale
vengono salvati i dati.


ACCESS o un programma fatto in VB?
programma fatto in vb, da tastiera


 programma fatto in vb, da tastiera
ok,
quale controllo usi per fare l'input?
puoi postare il codice vb che prende il dal dato e lo scrive nel DB?
bye
R

 ... che prende il dal dato e lo scrive nel DB?
si legge: ... che prende il dato dal controllo e lo scrive nel DB
mi si e' ingarbugliato il cervello ;-)
bye
R

 e Piero si incontrarono nella radura di
Sherwood (it.comp.lang.visual-basic), dicendo:
No ragazzi... ho toppato io, in effetti nn è cosa sbagliata digitare
12.75 ma scrivere nel campo 12,75... quando si usa il tastierino
numerico si ha a disposizione il punto non la virgola, quindi è ok,
scusate di nuovo....
però una cosa che nn mi quadra rimane: nella proprietà dataformat ho
specificato Valuta e Euro, quindi nella textfield dovrebbe apparire il
simbolo della moneta no? eppure nn viene mostrato.... come mai?


 wrote in message
7hvbtusq905lgrk03...@4ax.com...

io ho risolto così:
- nella text box faccio scrivere all'utente quello che vuole (almeno tre
caratteri compresi 2 zeri se la cifra è intera),
- poi tutto il gioco avviene con le funzioni MID LEFT e RIGHT per verificare
che il terzultimo carattere sia 'virgola' 'punto' o 'altro'
- mediante 3 IF ricompongo la stringa in modo che ACCESS la accetti
- la salvo nel campo usando la funzione CCUR (il campo access è: valuta)
non credo di essere stato comprensibile, mandami una mail all'indirizzo
giova...@libero.NOSPAM.it
(togli NOSPAM) e così ti mando il pezzo di codice xchè ora non ce l'ho sotto
mano.


 - la salvo nel campo usando la funzione CCUR (il campo access č: valuta)
rs("campo") = Val(Replace(strValore, ",", "."))
Ciao
--
using System.Gtk.Forms = "
http://www.neodatatype.net/windowsforms/sgf.aspx
"
mathParser = "
http://www.neodatatype.net
"
sitoComune = "
http://www.it-lang-vb.net
"