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...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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