Vb.net 对包含点和逗号的值求和的程序
我不知道如何对包含点和逗号的值求和 例如10.000,00+1.000,00=11.000,00 这就是一万加一千等于一万一千 我将这些数字作为字符串,并尝试使用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
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
。