1

我必须格式化数字以精确这种格式 "###,###,###.##" 并尝试编写这样的程序:

Dim myNum as double = 1255.32
Debug.Print(myNum.ToString("###,###,###.##"))

我可以做 .PadLeft 以确保与固定宽度的字体对齐,但我的号码没有用这个格式字符串正确显示。如果我使用“##0.00”来写,那么我没有显示千位分隔符。

在早期的基本版本中,这很容易,但是......如何在 VB.NET 中以这种格式显示数字?

如果很重要,我的本地小数点“点”是“,”(逗号)。

例子:

                First source    Second source
            ---------------- ---------------- 
 Price:            97.419,52        97.419,26 
   Tax:             4.870,98         4.870,96 
Brutto:           102.290,50       102.290,24 

                 Temp source                 
            ----------------                 
 Price:                 0,00   
   Tax:                 0,00       Difference          
Brutto:                 0,00           - 0,26 
4

1 回答 1

1

CultureInfo让您对数字格式有更多的控制。示例代码:

Dim culture As Globalization.CultureInfo = New Globalization.CultureInfo(Globalization.CultureInfo.CurrentCulture.Name)
culture.NumberFormat.NumberDecimalSeparator = "."
culture.NumberFormat.NumberGroupSeparator = ","

Dim myNum As Double = 1255.32
Debug.Print(myNum.ToString("N", culture))
于 2013-11-10T12:32:31.613 回答