Come non detto. Magari dopo la partita, visto che gli esempi di @oparra funzionano bene e sono l'ideale, essendo B4X e multipiattaforma.Provo a guardarlo al volo
Come non detto. Magari dopo la partita, visto che gli esempi di @oparra funzionano bene e sono l'ideale, essendo B4X e multipiattaforma.Provo a guardarlo al volo
Adesso si usa in quel modo anche qui ma, almeno fin quando andavo a scuola io (ma anche in seguito), la posizione corretta del punto separatore delle migliaia era in alto.in chile il separatore delle migliaia è il punto e il decimale è la virgola
???
Certo. la guardo anche io.. Meglio Portogallo comunque...(imho)Provo a guardarlo al volo, ma tra poco... Belgio - Portogallo.
(Si domandano: "Sarà meglio dover incontrare il Belgio o il Portogallo?". Domanda scema, visto che incontreremo la vincente! Sarebbe meglio incontrare la perdente, ma temo non sia possibile ?).
E' un pronostico difficile.Certo. la guardo anche io.. Meglio Portogallo comunque...(imho)
Public Sub TestFormatter
Dim out As String
out = out & CRLF & SetFormmatter("12345.678", 2)
out = out & CRLF & SetFormmatter("3.45", 2)
out = out & CRLF & SetFormmatter("123", 2)
out = out & CRLF & SetFormmatter("2456000.3", 2)
Log(out)
End Sub
Public Sub SetFormmatter( Value As String, Decimal As Int) As String
Dim formatter As B4XFormatter
formatter.Initialize
formatter.GetDefaultFormat.GroupingCharacter = "."
formatter.GetDefaultFormat.DecimalPoint = ","
formatter.GetDefaultFormat.MaximumFractions = 2
formatter.GetDefaultFormat.MinimumFractions = 2
formatter.GetDefaultFormat.Prefix = "$"
formatter.GetDefaultFormat.IntegerPaddingChar = "*"
formatter.GetDefaultFormat.MinimumIntegers = 12
Dim Data As Double = Round2(Value.Replace(",","."), 2)
Return formatter.Format(Data)
End Sub
$******12.345,68
$***********3,45
$*********123,00
$***2.456.000,30
Public Sub TestFormatter
Dim out As String
' String
out = out & CRLF & SetFormmatter("12345,678", 2)
out = out & CRLF & SetFormmatter("3,45", 2)
out = out & CRLF & SetFormmatter("123", 2)
out = out & CRLF & SetFormmatter("2456000,3", 2)
' Numeric
out = out & CRLF & SetFormmatter(12345.678, 2)
out = out & CRLF & SetFormmatter(3.45, 2)
out = out & CRLF & SetFormmatter(123, 2)
out = out & CRLF & SetFormmatter(2456000.3, 2)
Log(out)
End Sub
ublic Sub TestFormatter
Dim out As String
' String
out = out & CRLF & SetFormmatter("12345,678", 2)
out = out & CRLF & SetFormmatter("3,45", 2)
out = out & CRLF & SetFormmatter("123", 2)
out = out & CRLF & SetFormmatter("2456000,3", 2)
' Numeric
out = out & CRLF & SetFormmatter(12345.678, 2)
out = out & CRLF & SetFormmatter(3.45, 2)
out = out & CRLF & SetFormmatter(123, 2)
out = out & CRLF & SetFormmatter(2456000.3, 2)
Log(out)
End Sub
Public Sub SetFormmatter(Value As String, Decimal As Int) As String
Dim Formatter As B4XFormatter
Formatter.Initialize
Formatter.GetDefaultFormat.GroupingCharacter = "˙"
Formatter.GetDefaultFormat.DecimalPoint = ","
Formatter.GetDefaultFormat.MaximumFractions = 2
Formatter.GetDefaultFormat.MinimumFractions = 2
Formatter.GetDefaultFormat.Postfix = "£"
'Formatter.GetDefaultFormat.IntegerPaddingChar = "*"
'Formatter.GetDefaultFormat.MinimumIntegers = 12
Dim Data As Double = Round2(Value.Replace(",","."), 2)
Return Formatter.Format(Data)
End Sub
12˙345,68£
3,45£
123,00£
2˙456˙000,30£
12˙345,68£
3,45£
123,00£
2˙456˙000,30£
Tra un po' cenerò (!), gli darò un'occhiata e spero che potrò dirtelo.si ma il mistero dello zip che ho inviato vorrei proprio capirlo.
Due routine uguali, perche una funziona e una no?!?
"Semplicemente" perché nella routine Prova hai:si ma il mistero dello zip che ho inviato vorrei proprio capirlo.
Due routine uguali, perche una funziona e una no?!?
s2.Replace(",","A") ' sostituisco la virgola con carattere A
s2.Replace(".","B") ' sostituisco il punto con carattere B
s2.Replace("A",".") ' sostituisco la A col punto
s2.Replace("B",",") ' e la B con la virgola
s2=s2.Replace(",","A") ' sostituisco la virgola con carattere A
s2=s2.Replace(".","B") ' sostituisco il punto con carattere B
s2=s2.Replace("A",".") ' sostituisco la A col punto
s2=s2.Replace("B",",") ' e la B con la virgola
l'avevo scritto mezza giornata fa, ma @Sabotto scrive le domande ma non legge le rispo6o quantomeno non lo fa con attenzioneB4X:Sub prova() Dim s As String ="12345,6789" Dim s1 As String = s.Replace(",",".") 'lo rendo numero come lo vuole lui Dim s2 As String = NumberFormat2(s1, 0, 2, 2, True) 'separat. migliaia e due decimali 'A questo punto ho il numero formattato con la virgola come separat. migliaia ' e il punto come separat. dei decimali 'Ma a me serve il contrario e quindi opero una serie di sostituzioni '(che mi sono accorto che in realtà non fa!!!!) S2=s2.Replace(",","A") ' sostituisco la virgola con carattere A S2=s2.Replace(".","B") ' sostituisco il punto con carattere B S2=s2.Replace("A",".") ' sostituisco la A col punto S2=s2.Replace("B",",") ' e la B con la virgola Log(s2) 'non funziona, mi attendevo 12.345,68 ma esce 12,345.68 End Sub
Vedo che lo avevi evidenziato, non scritto e spiegato. Sei troppo sinteticol'avevo scritto mezza giornata fa, ma
Hai ragione, ma non avendo notato l'evidenziazione col colore, pensavo che erroneamente avevi solo ripostato il mio codice. Chiedo scusa, però, come disse Checco Zalone al prete, ("ma tu sei prete?... e miett nu caxx d collett!!!") io ti dico, "e miett nu caxx d comment!!!" ... ?l'avevo scritto mezza giornata fa, ma @Sabotto scrive le domande ma non legge le rispo6o quantomeno non lo fa con attenzione