c#中的2位数
本文关键字:2位数 中的 | 更新日期: 2023-09-27 18:14:30
我需要一些帮助,我有一个TextBlock,其中包含一个字符串像这样的00:00:00,我想创建一个计时器,将计数每秒钟,例如00:00:01,00:00:02等
那么我做的愚蠢的事情就是取文本框
的值string[] times = myTextbox.Text.Split(':');
int hours = Int32.Parse(times[0]);
int minutes = Int32.Parse(times[1]);
int seconds = Int32.Parse(times[2]);
然后我增加正确的变量,最后我再次连接它们并将它们放回文本块,但现在我的计数器是这样的:0:0:1,0:0:2,…
我知道这个问题,它很合乎逻辑,但我的问题是我如何解决它:)
string displayString = String.Format("{0:00}:{1:00}:{2:00}",
hours, minutes, seconds);
:
后面的部分为格式说明。00
表示始终使用至少两个位置,并将空位置显示为0。
当您"再次加入它们"时,对每个整数使用.ToString("00")
以获得两位数字。或者,在这里使用TimeSpan。
我将使用DateTime代替分割文本框的文本。解析如下:
var time = DateTime.Parse(myTextBox.Text);
然后添加第二个:
time = time.AddSeconds(1);
最后,把它放回去:
myTextBox.Text = time.ToString("myPattern");
,其中myppattern被替换为这里描述的任何模式:http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm
TimeSpan span = DateTime.Now.Subtract(startTimeOfTimer);
int Totalsec = span.Seconds;
int seconds = Totalsec % 60;
int minutes = span.Minutes;
int hour = span.Hours;
string Elapsedtime = string.Format("{0:00}:{1:00}:{2:00}",hour, minutes, seconds); that will output hour:min:sec as 00:00:00(two digit number)
下面从TextBox
中获取字符串,添加1秒并返回结果字符串(包括正确的分钟/小时):
myTextbox.Text = TimeSpan.FromSeconds ( TimeSpan.Parse ( myTextbox.Text ).TotalSeconds + 1 ).ToString ( "c" );
一个注释-你需要添加异常处理以防TextBox
是可编辑的,可能包含错误的数据…
一些参考文献参见:
- http://msdn.microsoft.com/en-us/library/system.timespan.aspx
- http://msdn.microsoft.com/en-us/library/system.timespan.fromseconds.aspx
- http://msdn.microsoft.com/en-us/library/se73z7b9.aspx
- http://msdn.microsoft.com/en-us/library/ee372286.aspx