German Wo ist das Komma bei NumberDialog?

Watchkido1

Active Member
Licensed User
Longtime User
Hi

Numberdialog gibt bei mir keine Nachkommastellen aus.
Obwohl ich "nd.decimal = 4" gesetzt habe.
Gebe ich ind die SUB unten "1,0001" ein erhalte ich "10001" als LabelAusgabe.
Hat jemand ne Lösung dafür?

lg Frank

B4X:
Sub diaEndpunktX_click'()
   'Dim i As Double
   Dim nd As NumberDialog
   nd.Digits = 10
   nd.Number = 0.0000
   nd.Decimal = 4
   'nd.DecimalChar = ","
   nd.ShowSign = True
   nd.Show("Endpunkt X", "Übernehmen", "", "",Null)
   'nd.Decimal =4

   lblEndpunktX.Text = "X" & nd.Number
   'lblEndpunktX.Text = "X" & NumberFormat2(nd.Number, 0, 4, 4, False)

End Sub
 

klaus

Expert
Licensed User
Longtime User
Im Help für den NumberDialog steht folgendes:

Digits:
One is the minimum, nine is the maximum.
nd.Digits maximal 9 !

"Note that the number accepted and returned by the dialog is an integer value and so may need scaling appropriately."
Die zurückgegebene Zahl ist ein Integer die dann wieder umgerechnet werden muss.
B4X:
lblEndpunktX.Text = "X" & nd.Number / Power(10, nd.Decimal)
Beste Grüsse.
 

Watchkido1

Active Member
Licensed User
Longtime User
Besten Dank...

Besten Dank Klaus.

Diese Umrechnung und das mit dem "nd.Digits = 10" sollte in die DialogsDemo übernommen werden.
Das Hilft Anfängern nämlich ungemein.

Da steht nämlich nur:
B4X:
Sub btnNumber_Click
   Dim nd As NumberDialog
   nd.Digits = 10
   nd.Number = -12345
   nd.Decimal = 2
   nd.ShowSign = True
   ret = nd.Show("B4A Number Dialog", "Yes", "No", "Maybe", Bmp)   
   ToastMessageShow(ret & " : " & nd.Number, False)   
End Sub


lg Frank
 

Watchkido1

Active Member
Licensed User
Longtime User
Probleme mit Kommastelle

Hi Klaus,

mir wird bei Eingabe von 0,0009 ein Wert von 9.0E-4 angezeigt.
Ich brauche aber die 0,0009.
Geht das auch irgendwie?

Lg Frank
 
Top