今天我找到了一个简单的问题,这个问题已经让我失去了真正的成就.我正在尝试格式化数字以显示为货币.有很多方法可以做到这一点,我想我已经完成了大部分工作. 所以这就是问题所在
所以这就是问题所在:我正在添加多个可以是正面和负面的数字,我不知道.当我使用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的不同模式值.
对不起,如果我偏离轨道