.net 如何将格式化字符串转换回其原始值?

.net 如何将格式化字符串转换回其原始值?,.net,.net,我只是想知道如何计算格式化字符串的总数,比如$100000.00 我使用分割法,但当有很多“人”时,它就不起作用了 decimal moneyvalue = 1921.39m; string html = String.Format("Order Total: {0:C}", moneyvalue); Console.WriteLine(html); 产出如下: 订单总额:1921.39美元 或许 String.Format("{0:#,###}", bigNumber); 产出如下: 订单

我只是想知道如何计算格式化字符串的总数,比如$100000.00 我使用分割法,但当有很多“人”时,它就不起作用了

decimal moneyvalue = 1921.39m;
string html = String.Format("Order Total: {0:C}", moneyvalue);
Console.WriteLine(html);
产出如下:

订单总额:1921.39美元

或许

String.Format("{0:#,###}", bigNumber);
产出如下:

订单总额:1921.39美元

或许

String.Format("{0:#,###}", bigNumber);

在格式化它们之前,您需要先获取它们。在数字格式化后尝试对其执行计算是迟钝的,并且极易出错。特别是如果你的应用程序曾在不同的语言环境下使用,其中的千位分隔符和小数点字符不是你所期望的


此外,请注意,
String.Split
方法无论有多少个“,”都可以正常工作,因此您的问题不是Split方法,而是代码中的其他内容。

在格式化它们之前,您需要先掌握它们。在数字格式化后尝试对其执行计算是迟钝的,并且极易出错。特别是如果你的应用程序曾在不同的语言环境下使用,其中的千位分隔符和小数点字符不是你所期望的


此外,请注意,
String.Split
方法无论有多少个“,”都可以正常工作,因此您的问题不是Split方法,而是代码中的其他内容。

您可以在示例中使用parse方法的
NumberStyles
枚举重载。e、 g

string money1 = "$100,000.00";
string money2 = "$300,500.00";
Double unformattedMoney = Double.Parse(money1, System.Globalization.NumberStyles.Any);
Double unformattedMoney2 = Double.Parse(money2, System.Globalization.NumberStyles.Any);

Console.WriteLine(unformattedMoney + unformattedMoney2);

作为旁注,这不会解释错误的数字,如果您试图格式化错误的字符串,则会引发错误。

您可以在示例中使用parse方法的
numberstyle
枚举重载。e、 g

string money1 = "$100,000.00";
string money2 = "$300,500.00";
Double unformattedMoney = Double.Parse(money1, System.Globalization.NumberStyles.Any);
Double unformattedMoney2 = Double.Parse(money2, System.Globalization.NumberStyles.Any);

Console.WriteLine(unformattedMoney + unformattedMoney2);

作为旁注,这并不能解释错误的数字,如果您试图格式化错误的字符串,则会引发错误。

如果您专门谈论货币,请检查此项

其思想是使用
NumberStyle
类。
希望这对你有所帮助

如果你特别谈论货币,请检查此项

其思想是使用
NumberStyle
类。
希望这能有所帮助

我想他想还原过程以取回原始数字我想他想还原过程以取回原始数字让我明白:你有一个这样的字符串,你需要得到整数?如果“已解决”,您应该单击答案旁边的空心复选标记,这对您解决问题最有帮助,而不是将
[solved]
添加到标题中。对不起,我只是新来的。。。我习惯论坛:笑让我明白:你有一个这样的字符串,你需要得到整数金额?如果它是“已解决”,你应该点击答案旁边的空心复选标记,这对你解决问题最有帮助,而不是添加
[solved]
标题。对不起,我只是新来的。。。我习惯了论坛:笑