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

本文关键字:格式 字符串 定格 int 转换 | 更新日期: 2023-09-27 18:07:19

我有一个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

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

只需将string.Format用于

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

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

var convertTime = $"{time:00}:00";
var time = -6;
var convertTime = (time < 0 ? "-" : String.Empty) + Math.Abs(time).ToString("D2") + ":00";
var time = (myInt*100).ToString("00:00");

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

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

下面是一个使用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);
}