当前位置 : 主页 > 编程语言 > c语言 >

使用VB.Net将格式编号转换为货币

来源:互联网 收集:自由互联 发布时间:2021-06-24
今天我找到了一个简单的问题,这个问题已经让我失去了真正的成就.我正在尝试格式化数字以显示为货币.有很多方法可以做到这一点,我想我已经完成了大部分工作. 所以这就是问题所在
今天我找到了一个简单的问题,这个问题已经让我失去了真正的成就.我正在尝试格式化数字以显示为货币.有很多方法可以做到这一点,我想我已经完成了大部分工作.

所以这就是问题所在:我正在添加多个可以是正面和负面的数字,我不知道.当我使用TextBox.Text = Format(变量,“C”)在最后格式化时,我得到了正数的正确格式(这是每个例子123 456,00 $,我住在加拿大)我有( 123 456,00 $)负面的.我希望在开头有“ – ”符号.

我在网上搜索了其他方法,例如:
    FormatCurrency(“ – 123 456”,2,TriState.True,TriState.False).这样我就能摆脱括号,但“ – ”是在数字之后(123 456,00 $ – ).

下一篇:SpecificCulture.所以这里我有NegativeValueHere.ToString(“C”,CultureInfo.CreateSpecificCulture(“fr-CA”)).随后我用括号(123 456,00 $)回到了开头.请注意,我的应用程序运行时将文化设置为(“fr-CA”),因为那是我居住的地方.

我再尝试了一次,但不记得是什么.但是“$”就在$-123 456,00之前.

注意:我在VB.Net上运行,并且必须将数字格式化为只读文本框.

这似乎对我有用:

Sub Main()
    Dim value As Decimal = -123.45
    Dim positiveValue As Decimal = 123.45
    Dim customCurrencyInfo As CultureInfo = CultureInfo.CreateSpecificCulture("fr-CA")

    customCurrencyInfo.NumberFormat.CurrencyNegativePattern = 8

    Dim formatString As String = value.ToString("C", customCurrencyInfo)
    Dim formatStringPositive As String = positiveValue.ToString("C", customCurrencyInfo)

    Console.WriteLine(formatString) '-123,45 $
    Console.WriteLine(formatStringPositive) '123,45 $
    Console.ReadLine()

End Sub

您可以从this链接获取NumberFormat.CurrencyNegativePattern的不同模式值.

对不起,如果我偏离轨道

网友评论