我正在以int格式从数据库中读取IP地址编号,但我想显示它们 采用IP格式,如000.000.000.000
是否可以使用String.Format方法?
例如:
string str = String.Format("{0:#,###,###.##}", ips);
答案 0 :(得分:13)
不是故意的,但这可以解决问题。
IPAddress ip = IPAddress.Parse(IPStringHere);
答案 1 :(得分:2)
这些32位整数是否都代表整个IP地址?如果是的话......
IPAddress ip = new IPAddress((long)ips);
return ip.ToString();
(我不知道为什么构造函数需要很长时间,如果超出UInt32的范围会抛出异常,所以在我看来UInt32会更合适。)
答案 2 :(得分:0)
这样的事情?
.Net 4.0
string str = string.Join(".", ips.Select(x => x.ToString()))
<强>早些时候强>
string str = string.Join(".", ips.Select(x => x.ToString()).ToArray())
这就是说,在string[]
之间加入.
。该数组由ips组成,使用ToString()
转换为字符串,并使用ToArray()
答案 3 :(得分:0)
如果是数组:
string str = String.Format("{0:###}.{1:###}.{2:###}.{3:###}", ips[0], ips[1], ips[2], ips[3]);
答案 4 :(得分:0)
我来找同样的答案..但是看到我不写自己。
private string padIP(string ip)
{
string output = string.Empty;
string[] parts = ip.Split('.');
for (int i = 0; i < parts.Length; i++)
{
output += parts[i].PadLeft(3, '0');
if (i != parts.Length - 1)
output += ".";
}
return output;
}
编辑:啊我看到int格式..没关系,不知道你会怎么做....