Differenze tra le versioni di "Ottenere dalla funzione Format() un valore con il punto anziché con la virgola"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | + | Nel primo caso in esame si ha un tipo di dato numerico in virgola mobile e si intende ottenere come risultato finale anche una rappresentazione di esso con il punto anziché con la virgola. | |
− | + | <BR>Per fare ciò si dovrà adoperare adeguatamente le funzioni native "Format()" e "CStr()". | |
− | Per fare ciò si dovrà adoperare adeguatamente | ||
− | |||
− | |||
− | |||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | + | ||
Dim f As Float | Dim f As Float | ||
Dim s As String | Dim s As String | ||
− | + | <FONT Color=gray>' ''Essendo il valore numerico assegnato ad un tipo di dati numerico in virgola mobile ("Float"), il simbolo separatore non può essere altro ovviamente che il punto:''</font> | |
+ | f = 12345.6789 | ||
+ | |||
+ | <FONT Color=gray>' ''Così si ottiene una rappresentazione testuale con la virgola del numero:''</font> | ||
+ | Print f | ||
− | |||
− | |||
+ | <FONT Color=gray>' ''Già così si ottiene una rappresentazione testuale del numero con il punto anziché con la virgola:''</font> | ||
+ | s = CStr(f) | ||
+ | Print s | ||
+ | |||
+ | <FONT Color=gray>' ''Quindi gestisce la stringa di quel numero mediante la funzione "Format()":''</font> | ||
+ | f = Val(Format$(s, "#.####")) | ||
+ | |||
+ | <FONT Color=gray>' ''Così si ottiene finalmente la rappresentazione testuale finale del numero, manipolato con la funzione "Format()", con il punto anziché con la virgola:''</font> | ||
+ | Print CStr(f) | ||
− | <FONT Color=gray>' '' | + | '''End''' |
− | + | ||
− | + | ==Caso in cui il numero in virgola mobile è una rappresentato da una Stringa e presenta come separatore la virgola== | |
− | + | In questo caso il numero in virgola mobile è rappresentato da una stringa di caratteri. Il simbolo separatore dei decimali è la virgola, e si intende ottenere alla fine, come separatore, un punto. | |
− | <FONT Color=gray>' '' | + | <BR>Anche in questo caso si farà uso delle funzioni native "Format()" e "CStr()". |
− | + | '''Public''' Sub Main() | |
− | + | ||
− | <FONT Color=gray>' ''Così si ottiene ancora una rappresentazione | + | Dim f As Float |
− | + | Dim s As String = "12345,6789" | |
− | + | ||
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Effettua il primo passaggio necessario:''</font> |
− | + | f = Val(s) | |
− | + | ||
+ | <FONT Color=gray>' ''Quindi manipola la stringa di quel numero mediante la funzione "Format()":''</font> | ||
+ | f = Val(Format$(f, "#.####")) | ||
+ | |||
+ | <FONT Color=gray>' ''Così si ottiene ancora una rappresentazione testuale con la virgola:''</font> | ||
+ | Print f | ||
+ | |||
+ | <FONT Color=gray>' ''Ora finalmente si ottiene una rappresentazione testuale con il punto:''</font> | ||
+ | Print CStr(f) | ||
+ | |||
+ | '''End''' | ||
+ | |||
+ | Una seconda modalità prevede più rapidamente l'uso della funzione nativa "Replace()": | ||
+ | '''Public''' Sub Main() | ||
+ | |||
+ | Dim s As String = "12345,6789" | ||
+ | |||
+ | <FONT Color=gray>' ''Quindi si ottiene una rappresentazione testuale con il punto:''</font> | ||
+ | Print Replace(s, ",", ".") | ||
+ | |||
'''End''' | '''End''' |
Versione delle 20:49, 28 apr 2021
Nel primo caso in esame si ha un tipo di dato numerico in virgola mobile e si intende ottenere come risultato finale anche una rappresentazione di esso con il punto anziché con la virgola.
Per fare ciò si dovrà adoperare adeguatamente le funzioni native "Format()" e "CStr()".
Public Sub Main() Dim f As Float Dim s As String ' Essendo il valore numerico assegnato ad un tipo di dati numerico in virgola mobile ("Float"), il simbolo separatore non può essere altro ovviamente che il punto: f = 12345.6789 ' Così si ottiene una rappresentazione testuale con la virgola del numero: Print f ' Già così si ottiene una rappresentazione testuale del numero con il punto anziché con la virgola: s = CStr(f) Print s ' Quindi gestisce la stringa di quel numero mediante la funzione "Format()": f = Val(Format$(s, "#.####")) ' Così si ottiene finalmente la rappresentazione testuale finale del numero, manipolato con la funzione "Format()", con il punto anziché con la virgola: Print CStr(f) End
Caso in cui il numero in virgola mobile è una rappresentato da una Stringa e presenta come separatore la virgola
In questo caso il numero in virgola mobile è rappresentato da una stringa di caratteri. Il simbolo separatore dei decimali è la virgola, e si intende ottenere alla fine, come separatore, un punto.
Anche in questo caso si farà uso delle funzioni native "Format()" e "CStr()".
Public Sub Main() Dim f As Float Dim s As String = "12345,6789" ' Effettua il primo passaggio necessario: f = Val(s) ' Quindi manipola la stringa di quel numero mediante la funzione "Format()": f = Val(Format$(f, "#.####")) ' Così si ottiene ancora una rappresentazione testuale con la virgola: Print f ' Ora finalmente si ottiene una rappresentazione testuale con il punto: Print CStr(f) End
Una seconda modalità prevede più rapidamente l'uso della funzione nativa "Replace()":
Public Sub Main() Dim s As String = "12345,6789" ' Quindi si ottiene una rappresentazione testuale con il punto: Print Replace(s, ",", ".") End