Ottenere di un numero in virgola mobile la rappresentazione del separatore con il punto anziché con la virgola
Da Gambas-it.org - Wikipedia.
Versione del 29 apr 2021 alle 08:47 di Vuott (Discussione | contributi) (Creata pagina con "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 del separatore con il punto anz...")
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 del separatore 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