在C#中对文本格式化为单数格式进行计算

时间:2018-04-16 06:58:50

标签: c#

我理解如何使用string.format函数将一些数字文本格式化为数字格式,如下所示:

TextBox1.Text = String.Format("{0:n}", "5000.52");

// Outputs: 5,000.52

但对我来说真正的问题是在某些计算中再次使用此格式化文本时:

Single y = Single.Parse(TextBox1.Text) * 123;

C#编译器抱怨并说:

System.FormatException: 'Input string was not in a correct format.'

所以,我需要知道解决这个问题的专业方法是什么,因为我真正关心我的应用程序性能。

1 个答案:

答案 0 :(得分:4)

  

但对我来说真正的问题是再次使用此格式化文本   一些计算,C#编译器抱怨并说:

解决此问题的专业方法是将数字存储为数字,并仅将其格式化以用于显示目的。除非你真的别无选择(我怀疑),否则不要将数字转换成文本到数字。

var myAwesomeNumber = 5000.52f;

textbox1.Text = String.Format("{0:n}", myAwesomeNumber);

// do stuff with my awesome number again

myAwesomeNumber += 1;

如果你真的需要从文本中解析格式化的整数,那么你需要查看解析的各种重载

Single.Parse Method (String, NumberStyles, IFormatProvider)

  

转换指定样式中数字的字符串表示形式   和单一精度浮点的特定于文化的格式   等价数字。

看一下例子