sto scrivendo un programma in VBScript che s'interfaccia con uno strumento di misura: tutto funziona bene finché non giunge il momento di leggere i valori rilevati. Di seguito, la rogna di turno
- Inviato il comando di lettura, ricevo la stringa:
- Codice: Seleziona tutto
"4.165E-7"
- Ho necessità di eseguire dei calcoli utilizzando quel valore, per cui lo converto in Double (i seguito, alcuni comandi digitati nella finestra Immediata del debugger VBScript)
- Codice: Seleziona tutto
?Valore1
"4.165E-7"
?CDbl(valore1)
0,0004165
Per quel poco che mi ricordo, il risultato corretto dovrebbe essere 0.0000004617
Ho individuato la causa di tutto ciò nel fatto che il computer utilizza il carattere "." (punto) come separatore delle migliaia, mentre per lo strumento (come tutti gli altri, da che mondo è mondo) il punto è il separatore dei decimali.
La riprova è questa: (digitata sempre in modalità Immediata)
- Codice: Seleziona tutto
?cdbl("4.165")*10^-7
0,0004165
?cdbl("4,165")*10^-7
0,0000004165
dove la seconda risposta è quella corretta.
Ed eccoci al quesito: "Come faccio, da VBscript, a sapere quale carattere è impostato sul sistema come separatore dei decimali?"
Purtroppo non posso limitarmi a sostituire il carattere "." con la virgola, perchè il programma sarà utilizzato da diverse persone, anche all'estero, ed è praticamente certo che ci sarebbero problemi causati dalle diverse impostazioni internazionali;
Qualche idea?
Grazie in anticipo!
Max