prova con NumberFormat2 oppure con Log($"$0.4{a}"$)
Non ho Android 11 non posso fare prove in ultimo farei una sub che controlli se inizia con un punto aggiunga lo zero all'inizio.
Comunque quello su Android 11 sembra quello corretto e quello di Android 9 non mi sembra corretto
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
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 interi
comunque se vuoi gli interi senza virgola fai così
B4X:
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
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
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
Io di solito se posso evitare di segnalare bug e risolvere da me lo preferisco, anche se alla femminina ma faccio prima.
Perchè poi iniziano le domande ... perchè fai cosi e non pomi? come mai usi questa libreria e non un altra? eccc...