2017-08-12 1 views
1

Ich brauche eine integrierte Funktion zum Erstellen eine reelle Zahl als Währung in folgendem Format zu formatieren:Wie erstellt man eine eingebaute Funktion um eine reelle Zahl als Währung zu formatieren?

  1. Es sollte zu einer Leitwährung Charakter wie $
  2. Komma Separatoren für Tausende
  3. gerundete definierte Anzahl von Dezimalstellen
  4. padding mit voreilenden und nacheilenden Nullen

Für den ersten Teil ist es einfach, durch Verketten des Dollar-s ign mit den Nummern, danach weiß ich nicht weiter. Irgendwelche Hilfe bitte?

+1

Sie könnten die bereits vorhandene 'ToString' Methode mit einem [Custom Numeric Format String] verwenden (https://docs.microsoft.com/en-us/ dotnet/standard/base-types/benutzerdefinierte-numerische-format-strings) um dies zu tun. – Blackwood

+0

Vielen Dank Herr, ich werde es ausprobieren und Sie wissen lassen. – tim

Antwort

1

Fest

Imports System 
Imports System.Collections 

Public Module Module1 

    Public Sub Main() 
     Console.WriteLine(Convert(12345678)) 
    End Sub 

    Function Convert(number) As String 

     Dim str as String = "" 

     While number > 0 

      str = (number MOD 1000).ToString() + str 
      number = number \ 1000 

      If number > 0 

       str = "," + str 

      End If 

     End While 

     Return "$" + str 

    End Function 

End Module 

https://dotnetfiddle.net/EYJvMC

+0

Danke Sir für die Unterstützung, aber es ist ziemlich kompliziert für mich zu verstehen (Ich bin so ein Anfänger bei der Programmierung). Übrigens war dies eine Aufgabe für HSC-Studenten, die A-Level-Informatik und natürlich mit VB.NET zu tun hatten. Hoffe, andere Studenten werden diesen Beitrag auch hilfreich finden. – tim

+0

@tim Ich werde einen Blick auf vb.net werfen und es umschreiben –

+0

@tim Siehe meine Bearbeitung. –

0

Also mit Hilfe von „Blackwood“, „Oliver Ni“ und meiner eigenen Erfahrung, die ich verwalten diese mit einem bequemeren Weg kommen zu tun, Hoffnung Sie werden dies nützlich finden (Bitte beachten Sie durch, dass der Code in VB.NET 2010 Express Konsolenmodus geschrieben wurde):

Imports System.IO

öffentliche Module Module1

Dim value, result As Decimal 

Public Sub main() 
    result = convert() 
    Console.ReadKey() 
End Sub 

Function convert() 

    Console.Write("Enter value: ") 
    value = Console.ReadLine() 
    Console.Clear() 
    Console.WriteLine("$" & value.ToString("#,###,###.00")) 
    Return value 

End Function 

End Module

Verwandte Themen