Vb.net 对包含点和逗号的值求和的程序

Vb.net 对包含点和逗号的值求和的程序,vb.net,Vb.net,我不知道如何对包含点和逗号的值求和 例如10.000,00+1.000,00=11.000,00 这就是一万加一千等于一万一千 我将这些数字作为字符串,并尝试使用Double.Parse()转换它们,但它给了我一个错误,说它的格式错误 我正在用VB.NET编程 那么如何计算这些数字的总和呢?您可以使用已经定义了所需格式的CultureInfo(如注释中所建议的),也可以通过克隆和修改CurrentCulture来指定格式 Dim culture As Globalization.CultureI

我不知道如何对包含点和逗号的值求和

例如10.000,00+1.000,00=11.000,00

这就是一万加一千等于一万一千

我将这些数字作为字符串,并尝试使用
Double.Parse()
转换它们,但它给了我一个错误,说它的格式错误

我正在用VB.NET编程


那么如何计算这些数字的总和呢?

您可以使用已经定义了所需格式的
CultureInfo
(如注释中所建议的),也可以通过克隆和修改
CurrentCulture
来指定格式

Dim culture As Globalization.CultureInfo=Globalization.CultureInfo.CurrentCulture.Clone
culture.NumberFormat.NumberDecimalSeparator=“,”c
culture.NumberFormat.NumberGroupSeparator=“”c
'调用parse时使用自定义的区域性
Decimal.Parse(您的字符串、区域性.NumberFormat)
“或者如果你打电话给特里帕斯
Decimal.TryParse(字符串、全球化.numberstyle.Number、区域性.NumberFormat、结果)

在您的示例中,10.000,00+1.000,00=11.000,00,将逗号替换为点,将先前存在的点替换为零


这样-->10000.00+1000.00=11000.00

显然,您的全球化设置与这两个字符串不兼容。使用Double.Parse传递适当的CultureInfo。
Dim culture=CultureInfo.CreateSpecificCulture(“ro”)点心作为Decimal=Decimal.Parse(string1,culture)+Decimal.Parse(string2,culture)
Decimal.TryParse()
如果需要确保值是可转换的。如果已经本地化,则CultureInfo可能只是
CultureInfo.CurrentCulture
Thread.CurrentThread.CurrentCulture