C#如何格式化文本框中的值?

时间:2011-03-18 08:07:09

标签: c# string format streamwriter

这可能很简单但我仍然对这种语言不熟悉。

我正在创建一个Windows应用程序,其中包含文本框和按钮。它将做的是获取在文本框中输入的值,并创建一个.txt文件,其中在文本框中输入的值作为其内容。

我不喜欢这个。我已成功将“5”添加到文本框并按下按钮,它将创建一个内容为“5”的txt文件。

我的问题是,如何将文本框的值格式化为xxxxxxx.xxxxx?

因此,如果我输入5,如何在文字中创建0000005.00000

或者,如果我输入5.4,我该如何让它变成0000005.40000

任何人都可以光明吗?还是编码样本?

6 个答案:

答案 0 :(得分:2)

您需要做的是将TextBox中的字符串解析为double,然后使用NumberFormatInfo将其格式化为字符串。

要解析字符串,请使用:

Double d;
Double.TryParse("5.4", out d);

要格式化为您想要的格式,请查看这些文档并选择所需格式:http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

答案 1 :(得分:1)

此博客文章适用于如何使用string.Format - http://blog.stevex.net/string-formatting-in-csharp/

此外,MSDN非常有用 - http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

例如,“如果使用i输入5.4,我如何使它变成0000005.40000?”:

查看MSDN链接,标题为“十进制(”D“)格式说明符”:

Console.WriteLine(value.ToString("D8"));
// Displays -00012345

查看MSDN链接,标题为“定点(”F“)格式说明符”

integerNumber = -29541;
Console.WriteLine(integerNumber.ToString("F3", 
                  CultureInfo.InvariantCulture));
// Displays -29541.000

但实际上,为了实现您所寻找的目标,您可能最好使用以下格式字符串:

var f = 5.4;
f.ToString("000000000.0000000000000");
// Displays 000000005.4000000000000

答案 2 :(得分:1)

将您的TextBox文本解析为双变量(使用double.Parsedouble.TryParse)并尝试以下内容:

double d = 5.0d;
Console.WriteLine(string.Format("{0:0000000.00000}",d));
d = 5.4d;
Console.WriteLine(string.Format("{0:0000000.00000}",d));

答案 3 :(得分:1)

尝试以下方法:

int number = 5;
string content = number.ToString("0000000.00000");

答案 4 :(得分:0)

答案 5 :(得分:0)

首先,文本框会将值作为(文本)字符串。如果你想进一步处理它作为(你这样做),你首先需要转换(解析)它。然后,您只需格式化数字the way you want

var number = Decimal.Parse(textBox.Text);
writer.Write(number.ToString("{0:0000000.00000}", number));