if < 则在数字前加 0 10
这是我的代码:
string Unreadz = "0";
while (true)
{
Unreadz = CheckMail();
if (!Unreadz.Equals("0")) port.Write("m");
else port.Write("n");
}
如果 Unreadz
小于 10
,我想在其之前、port.write< 之前添加一个
0
/代码>。
这是我尝试过的:
if (Unreadz < 10) port.Write("0" + Unreadz);
else port.Write("" + Unreadz);
但它不起作用,因为 Unreadz
是一个字符串。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
这应该有效:
This should work:
另请参阅 http://msdn.microsoft.com/ en-us/library/0c899ak8(v=VS.71).aspx
更直接的是,您可以:
See also http://msdn.microsoft.com/en-us/library/0c899ak8(v=VS.71).aspx
More directly you can:
如果您有一个整数,ToString 方法将帮助您:
格式化将为 05
您可以根据需要对任意数量的“0”执行此操作,如果您的结束字符串不同,还可以添加额外的字符:
时间将为02m03s
If you have an integer, the ToString method will help you:
formatted will be 05
you can do this for as many '0' as you want, and also put extra characters if your end string is different:
time will be 02m03s
尝试
或者,
try
Alternatively,
首先,
Unreadz
实际上应该是一个int,而不是一个字符串然后你可以写:
First of all,
Unreadz
should really be an int, not a stringThen you can write:
如果保证返回值为字符串表示的整数,那么可以将其转换为数字然后进行比较。
If its guaranteed that the return value will be an integer represented as string, then you can convert it to a number and then perform comparison.
您现在可以在插值字符串中指定格式:
You can now specify format in an interpolated string:
您需要将字符串转换为数字以进行小于 10 的测试:
如果您确定该字符串只包含一位数字且没有其他数字,则可以只测试它的长度是否为 1:
您可以在 a 中进行格式化多种不同的方式:
我更喜欢第二种,因为它使格式更清晰,更易于维护,并且不需要比较。
所以,你得到:
You need to convert the string to a number to do the test for less than 10:
If you are certain that the string contains exactly one digit and nothing else, you can just test if it has length 1:
You can do the formatting in a variety of different manners:
I prefer the second one because it makes the format clearer and easier to maintain and does not require the comparison.
So, you get:
如果 Unreadz 是一个字符串,那么要比较它,您必须将其转换为 int。
if (未读z < 10)
到
if (Convert.ToInt16(Unreadz) < 10)
If Unreadz is a string, then to compare it, you would have to convert it to an int.
if (Unreadz < 10)
to
if (Convert.ToInt16(Unreadz) < 10)
尝试定义
int unreadz
,然后使用port.Write(string.Format("{0:00}", unreadz)
Try to define
int unreadz
and then useport.Write(string.Format("{0:00}", unreadz)