2016-09-29 131 views
-6

请按照以下指定的格式将用户输入的字符串格式化为12小时制,而不是使用长度= 1,长度= 2等进行检查。将字符串格式化为hh:mm格式的简单方法

Entered String Formatted String(hh:mm) 
6    06:00 
12    12:00 
220    02:20 
1212   12:12 
+0

有没有一种真正的“简单”的方式来做到这一点。您将不得不根据字符串的长度/内容自行执行转换,或将输入拆分为小时,分钟和秒字段。 – Abion47

+2

111或112的格式是什么? –

+0

@RashikHasnat我想象1-2位数字将是一整小时的值,而3-4位数字是一小时/分钟的值,所以“111”将是“01:11”。 – Abion47

回答

-1

由于输入将始终是1个4个字符之间,或许可以检查输入长度是否是奇数还是偶数,以确定是否解析的值与“0”开始与否,其余的是只是填充0的权利 - 这样的事情:

string ParseTime(string input) 
{ 
    bool odd = (input.Length % 2 > 0); 
    var result = (odd ? "0" : "") + input.PadRight(odd ? 3 : 4, '0'); 
    return result.Insert(2, ":"); 
} 
相关问题