2017-06-04 2 views
-1

Ich habe in letzter Zeit an einem kleinen Tool zum Überprüfen und Bearbeiten von MS SQL-Datenbanken gearbeitet. Aber jetzt stehe ich vor einer Wand. Ich möchte eine große Zahl von einer Spalte auf mehrere kleine aufteilen. Zum Beispiel habe ich die Nummer 195872323 und ich möchte es als 195 Diamanten 872 Gold 323 Platin idk angezeigt werden. Wie kann ich diese Nummer in diesen String aufteilen?VB.NET - Nummer in mehrere multiplizieren

Danke an alle, die mir helfen.

+0

Sie benötigen einige Kriterien zum Aufteilen der Strings. Ihr Beispiel hat 3 Strings mit jeweils 3 Zeichen, die Sie vielleicht suchen, oder es könnte die letzte Ziffer in der Zeichenfolge sein, die zur letzten Ziffer in der ersten Zeichenfolge addiert wird. – jmoreno

+0

Ich möchte die 3 zuletzt, die 3 folgt dann und dann jede Zahl, die folgt. Zum Beispiel die letzten drei Zahlen endlich, die nächsten drei vom Ende als Drei und alles danach ist egal. –

+0

Sie müssen das in die Frage stellen, auch Sie scheinen einen Tippfehler zu haben "3 letzte" macht keinen Sinn, ich nehme an, Sie meinten zuerst drei ... aber so oder so, Ihre Anforderungen ergeben keinen Sinn. – jmoreno

Antwort

0

Um die gewünschte Zeichenfolge zu erstellen, verwenden Sie diese Option. Ich sollte hinzufügen, dass Stack-Überlauf nicht unbedingt ein Schreiben von Code-Service, aber es war schnell und einfach .. Sie ursprüngliche Zahl ist ursprünglich die wesentlichen Anzahl von Platin - unter der Annahme, 1000 Platin pro Gold und 1000 Gold pro Diamant

Private Function SplitToCurrency(x As Integer) As String 
    Dim diamonds As Integer = CInt(Math.Truncate(CDec(x/1000000))) 
    Dim gold As Integer = CInt(Math.Truncate(CDec(x - diamonds * 1000000)/1000)) 
    Dim platinum As Integer = x - diamonds * 1000000 - gold * 1000 
    Return diamonds.ToString & " Diamonds " & gold.ToString & " Gold " & platinum.ToString & " Platinum" 
End Function 

Diamanten werden berechnet, indem die ursprüngliche Zahl durch 1.000.000 dividiert wird und die Dezimalzahl

usw. für den Rest entfernt wird.