lo fa solo con zero ?E' un grosso problema perchè crasha la app quando va a scrivere nel sqlite.
Ho bisogno che sia 0 e non .0
Public Sub NumberFormatPlus(Number As Double, MinimumIntegers As Int, MaximumFractions As Int) As String
If Number=Round(Number) Then
Return $"$1.0{Number}"$
Else
Return NumberFormat(Number,MinimumIntegers,MaximumFractions)
End If
End Sub
Accomoda con questo finchè Erel non risponde
B4X:Public Sub NumberFormatPlus(Number As Double, MinimumIntegers As Int, MaximumFractions As Int) As String If Number=Round(Number) Then Return $"$1.0{Number}"$ Else Return NumberFormat(Number,MinimumIntegers,MaximumFractions) End If End Sub
Si ma credo sia corretto il funzionamento su Android 11, perchè se metti interi "0" allor anon te ne fa apparire. Dovresti mettere almeno 1 nel numero degli interiNumformat2 ha lo stesso problema.
Public Sub NumberFormatPlus2(Number As Double, MinimumIntegers As Int, MaximumFractions As Int, MinimumFractions As Int, GroupingUsed As Boolean) As String
If Number=Round(Number) Then
Return $"$1.0{Number}"$
Else
Return NumberFormat2(Number,MinimumIntegers,MaximumFractions,MinimumFractions,GroupingUsed)
End If
End Sub
Ma cosi se fosse zero interi o 1 intero non cambierebbe il risultato.Ciao,
la definizione che si legge per NumberFormat dice:
The string will include at least Minimum Integers and at most Maximum Fractions digits.
Quindi "almeno" Minimum Integers (e tu specifici 0,) e al più Maximu Fractions (e tu specific 4)
In effetti, se consideriamo che "almeno zero interi" si può intendere come zero o più interi, allora dovrebbe ritornare 0, ovvero l'unico intero che fa parte del numero in input. Mentre una parte decimale .0 sarebbe corretta visto che diciamo "al massimo 4 cifre decimali)" e quindi anche una (virtuale) ci può stare.
In pratica dovrebbe rispondere con:
- 0
- 0.0
ma non con .0
Anche di Android 9 che ti da 10 anzichè 10.000 visto che hai messo 4 frazionari.Quindi è un Bug
Io di solito se posso evitare di segnalare bug e risolvere da me lo preferisco, anche se alla femminina ma faccio prima.Le tue funzioni vanno benissimo.
il formato italiano sarebbe la divisione delle cifre in gruppi di tre? o intendi la virgola al posto del puntoQuesto mi sembra un problema che potrebbe creare differenze nei dati.
Per esempio io converto i numeri in formato italiano e li si scatenano una marea di errori.
La cose secondo me è seria.