这可能很简单但我仍然对这种语言不熟悉。
我正在创建一个Windows应用程序,其中包含文本框和按钮。它将做的是获取在文本框中输入的值,并创建一个.txt文件,其中在文本框中输入的值作为其内容。
我不喜欢这个。我已成功将“5”添加到文本框并按下按钮,它将创建一个内容为“5”的txt文件。
我的问题是,如何将文本框的值格式化为xxxxxxx.xxxxx?
因此,如果我输入5
,如何在文字中创建0000005.00000
?
或者,如果我输入5.4
,我该如何让它变成0000005.40000
?
任何人都可以光明吗?还是编码样本?
答案 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.Parse
或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));
答案 3 :(得分:1)
尝试以下方法:
int number = 5;
string content = number.ToString("0000000.00000");
答案 4 :(得分:0)
查找string.Format()
:
答案 5 :(得分:0)
首先,文本框会将值作为(文本)字符串。如果你想进一步处理它作为号(你这样做),你首先需要转换(解析)它。然后,您只需格式化数字the way you want:
var number = Decimal.Parse(textBox.Text);
writer.Write(number.ToString("{0:0000000.00000}", number));