Autore Topic: [Risolto] Verifica su simbolo della moneta  (Letto 466 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
[Risolto] Verifica su simbolo della moneta
« il: 22 Dicembre 2015, 09:48:07 »
Un membro del forum gambas-es.org ci chiede di testare questo codice:
Codice: [Seleziona]
Public Sub Main()
 Dim cantidad As Float
 
 cantidad = 12.56
 
 Print "Símbolo monetario: " & Split(Format(cantidad, "$#.##"), " ")[1]
 Print "Moneda: " & Split(Format(cantidad, "$$#.##"), " ")[1]
 
End
per conoscere il risultato dei sistemi operativi che hanno l'impostazione locale italiana.

Se cortesemente potete effettuare la prova, ed indicare appresso il vostro risultato. Provvederò io a comunicarlo al nostro amico spagnolo.

Grazie.
« Ultima modifica: 22 Dicembre 2015, 11:47:38 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Verifica su simbolo della moneta
« Risposta #1 il: 22 Dicembre 2015, 10:50:09 »
Così come lo ha postato a me non funziona o meglio mi restituisce la quantità, per avere su Ubuntu 14.04.3 e Gambas3 3.8.4 il risultato del simbolo e della moneta occorre che split legga lo zero:

Codice: [Seleziona]
Dim cantidad As Float
 
 cantidad = 12.56
 
 Print "Símbolo monetario: " & Split(Format(cantidad, "$#.##"), " ")[0]
 Print "Moneda: " & Split(Format(cantidad, "$$#.##"), " ")[0]
'' Console:
' --> Símbolo monetario: €
' --> Moneda: EUR
 
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Verifica su simbolo della moneta
« Risposta #2 il: 22 Dicembre 2015, 11:16:54 »
per avere su Ubuntu 14.04.3 e Gambas3 3.8.4 il risultato del simbolo e della moneta occorre che split legga lo zero
Sì, hai ragione.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re:[Risolto] Verifica su simbolo della moneta
« Risposta #3 il: 22 Dicembre 2015, 13:06:20 »
Prova eseguito col codice originale su Ubuntu e Gambas-3.8.1:
Citazione
Codice: [Seleziona]
Public Sub _new()
Dim cantidad As Float
 
 cantidad = 12.56
 
  Print "Símbolo monetario: " & Split(Format(cantidad, "$#.##"), " ")[1]
 Print "Moneda: " & Split(Format(cantidad, "$$#.##"), " ")[1]
End
esito Console:
Citazione
Símbolo monetario: 12,56
Moneda: 12,56

Prova eseguita con la modifica proposta da Gian Luigi :
Citazione
Codice: [Seleziona]
Public Sub _new()
Dim cantidad As Float
 
 cantidad = 12.56
 
  Print "Símbolo monetario: " & Split(Format(cantidad, "$#.##"), " ")[0]
 Print "Moneda: " & Split(Format(cantidad, "$$#.##"), " ")[0]
End
esito Console:
Citazione
Símbolo monetario: €
Moneda: EUR

Prova con ulteriore modifica mia:
Citazione
Codice: [Seleziona]
Public Sub _new()
Dim cantidad As Float
 
 cantidad = 12.56
 
  Print "Símbolo monetario: " & Split(Format(cantidad, "$#.##"), " ")[0]
 Print "Moneda: " & Split(Format(cantidad, "$$#.##"), " ")[1]
End
esito Console:
Citazione
Símbolo monetario: €
Moneda: 12,56
:ciao:

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:[Risolto] Verifica su simbolo della moneta
« Risposta #4 il: 22 Dicembre 2015, 13:22:16 »
 :ciao:
Picavbg confermo!
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:[Risolto] Verifica su simbolo della moneta
« Risposta #5 il: 22 Dicembre 2015, 13:59:30 »
Io non so se tutte le nazioni adottano un simbolo monetario, credo comunque che con quelle che usano caratteri latini il simbolo venga messo prima della cifra e quindi non comprendo come possa in Spagna funzionare con Split che legge la seconda stringa.
Infatti se noi scriviamo:

Codice: [Seleziona]
Print Format(cantidad, "$#.##")
Print Format(cantidad, "$$#.##")
'' Otteniamo:
' --> € 12,56
' --> EUR 12,56

Il simbolo monetario e la moneta come prima stringa separate da uno spazio alla cifra in seconda posizione.  :-\

PS: Pare che quanto ho appena sostenuto non sia così, non c'è una regola precisa ma un consiglio che parrebbe dar ragione a shell.
     Vedere nota 6 della pagina di Wikipedia.
« Ultima modifica: 22 Dicembre 2015, 14:56:58 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:[Risolto] Verifica su simbolo della moneta
« Risposta #6 il: 22 Dicembre 2015, 21:57:21 »
@vuott
Vedo che hai scritto risolto, ma come? Così?:

Codice: [Seleziona]
Dim cantidad As Float, vS, vM As Variant
 
 cantidad = 12.56
 
 vS = Split(Format(cantidad, "$#.##"), " ")[0]
 vM = Split(Format(cantidad, "$$#.##"), " ")[0]
 If IsNumber(vS) Then 
    vS = Split(Format(cantidad, "$#.##"), " ")[1]
    vM = Split(Format(cantidad, "$$#.##"), " ")[1]
 Endif
 Print "il simbolo è " & vS & ", e la moneta è " & vM

Mi rispondo da solo: Domanda scema, non mi ero accorto che il topic spagnolo era su due pagine  ;D
Complimenti per la tua semplice e geniale soluzione  :D
Che se postavi anche qui mi evitava tutto questo  >:(
« Ultima modifica: 22 Dicembre 2015, 23:27:11 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro