我有一个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
答案 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);
}