以特定格式将int转换为字符串

时间:2016-09-15 19:25:26

标签: c#

我有一个int,我想以特定格式转换为字符串。

例如, -1到-01:00

如果我有正数(即1到01:00),这很容易。我可以使用以下代码:

var time = 6;
var convertTime = "0" + time + ":00";

输出:

06:00

我不确定如何用负数来实现相同的目标。

 var time = -6;
 var convertTime = /* what to do here */ + time + ":00";

期望的输出:

-06:00

4 个答案:

答案 0 :(得分:8)

只需使用string.Format

int time = -6;
var convertTime = string.Format("{0:00}:00", time);

或者如果你有C#6,你可以做一个插值字符串。

var convertTime = $"{time:00}:00";

答案 1 :(得分:0)

var time = (myInt*100).ToString("00:00");

或者如果使用C#6(VS2015):

var input = -6;
var time = $"{input:00}:00";

答案 2 :(得分:0)

var time = -6;
var convertTime = (time < 0 ? "-" : String.Empty) + Math.Abs(time).ToString("D2") + ":00";

答案 3 :(得分:0)

以下是使用TimeSpan的示例。

public void TestTimeSpan()
{
    var ts = new TimeSpan(-1, 0, 0);
    var s = string.Format("{0}{1:hh\\:mm}", ts < TimeSpan.Zero? "-": string.Empty, ts);
    Assert.AreEqual("-1:00", s);
}