这是我的代码:
string Unreadz = "0";
while (true)
{
Unreadz = CheckMail();
if (!Unreadz.Equals("0")) port.Write("m");
else port.Write("n");
}
Run Code Online (Sandbox Code Playgroud)
如果Unreadz小于10,我想在0之前添加一个port.write.
这是我尝试过的:
if (Unreadz < 10) port.Write("0" + Unreadz);
else port.Write("" + Unreadz);
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为它Unreadz是一个字符串.
Sha*_*ard 21
这应该工作:
port.Write(Unreadz.ToString().PadLeft(2, '0'));
Run Code Online (Sandbox Code Playgroud)
string.Format("{0:00}", 9);
Run Code Online (Sandbox Code Playgroud)
另见http://msdn.microsoft.com/en-us/library/0c899ak8(v=VS.71).aspx
您可以更直接地:
9.ToString("00"); // "09"
19.ToString("00"); // "19"
119.ToString("00"); // "119"
Run Code Online (Sandbox Code Playgroud)
尝试
if (Convert.ToInt32(Unreadz) < 10) port.Write(string.format("{0}{1}", "0", Unreadz);
Run Code Online (Sandbox Code Playgroud)
或者,
if (Unreadz.length == 1 ) ...
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您有一个整数,ToString 方法将帮助您:
int i = 5;
string formatted = i.ToString("00");
Run Code Online (Sandbox Code Playgroud)
格式化将是05 您可以根据需要为任意数量的 '0' 执行此操作,如果您的结束字符串不同,还可以添加额外的字符:
int minutes = 2, seconds = 3;
int timeSum = minutes * 100 + seconds;
string time = timeSum.ToString("00m00s");
Run Code Online (Sandbox Code Playgroud)
时间将是02m03s
如果保证返回值为字符串表示的整数,那么可以将其转换为数字然后进行比较。
if ( Convert.ToInt32(Unreadz) < 10 ) port.Write("0" + Unreadz);
else port.Write("" + Unreadz);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22466 次 |
| 最近记录: |