1

这可能很简单,但我对这种语言还是陌生的。

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

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

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

那么,如果我输入5如何使它在文本中创建成为0000005.00000

或者如果我输入5.4如何让它变成这样0000005.40000

任何人都可以发光吗?还是编码示例?

4

6 回答 6

2

您要做的是将字符串从 解析TextBox为双精度,然后使用NumberFormatInfo.

要解析字符串,请使用:

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

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

于 2011-03-18T08:10:36.470 回答
1

尝试以下操作:

int number = 5;
string content = number.ToString("0000000.00000");
于 2011-03-18T08:17:08.043 回答
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 链接,在标题“The Decimal ("D") Format Specifier”下:

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
于 2011-03-18T08:11:33.107 回答
1

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

double d = 5.0d;
Console.WriteLine(string.Format("{0:0000000.00000}",d));
d = 5.4d;
Console.WriteLine(string.Format("{0:0000000.00000}",d));
于 2011-03-18T08:12:25.383 回答
0

首先,文本框将值作为(文本)字符串提供给您。如果您想将其作为数字进一步处理(您这样做),您首先需要转换(解析)它。然后,您只需按照您想要的方式格式化数字:

var number = Decimal.Parse(textBox.Text);
writer.Write(number.ToString("{0:0000000.00000}", number));
于 2011-03-18T08:15:42.823 回答
0

查找string.Format()

http://alexonasp.net/samples/stringformatting/

于 2011-03-18T08:11:42.960 回答