iT邦幫忙

0

[ C# 開發隨筆 ] 數字左側補0與字串右側補足文字範例

c#

試用一下ithome從我的點部落貼文章來測試一下。

在Coding常常會有需要補足字串,或者將流水序號補上0的狀況發生,已前常常土砲直接用SubString跟IndexOf去解決,但事後發現 String 的 Api 本身就有很多這類的方法可以使用。接下來會示範 int 左側補上0的範例跟 字串右側補上空白的範例結果。

以下為 int 左側補0之範例 

private static void Main(string[] args)
{
    const int seq = 1;

    // ** Use ToString fill 0

    // Let seq string length is 3 to fill 0 in string left
    var threeLengthStr = seq.ToString("000");

    Console.WriteLine($"Use int.ToString('000') to fill 0 result : {threeLengthStr}");

    // ** Use PasLeft fill 0

    // Let seq string length is 3 to fill 0 in string left
    var threeLengthStrUsePadLeft = seq.ToString().PadLeft(3, '0');

    Console.WriteLine($"Use string.PadLeft(3,'0') to fill 0 result : {threeLengthStrUsePadLeft}");

    // ** Use String.Format fill 0

    // Let seq string length is 3 to fill 0 in string left
    var threeLengthStrUseFormat = string.Format("{0:000}", seq);

    Console.WriteLine($"Use string.Format() to fill 0 result : {threeLengthStrUseFormat}");

    // ** Use String.Interpolation fill 0

    // Let seq string length is 3 to fill 0 in string left
    var threeLengthStrUseStringInterpolation = $"{seq:000}";

    Console.WriteLine($"Use string Interpolation to fill 0 result : {threeLengthStrUseStringInterpolation}");

    // Result
    // Use int.ToString('000') to fill 0 result: 001
    // Use string.PadLeft(3, '0') to fill 0 result: 001
    // Use string.Format() to fill 0 result: 001
    // Use string Interpolation to fill 0 result: 001

    Console.Read();
}

以下為 string 右側側補空白之範例 

private static void Main(string[] args)
{
    const string sampleString = "CC001";

    // ** Use PadRight fill space

    // Let seq string length is 3 to fill 0 in string left
    var padRightStr = sampleString.PadRight(10, ' ');

    Console.WriteLine($"Use string.PasRight(10,'_') to fill space result : {padRightStr} ; Length: { padRightStr.Length}");

    // ** Use String.Format fill space

    // Let seq string length is 10 to fill space in string left
    var formatString = String.Format("{0,-10}", sampleString);

    Console.WriteLine($"Use string.Format() to fill space result : {formatString} ; Length: { formatString.Length}");

    // ** Use String Interpolation fill space

    // Let seq string length is 10 to fill space in string left
    var interpolationStr = $"{sampleString,-10}";

    Console.WriteLine($"Use string Interpolation to fill space result : {interpolationStr} ; Length:{interpolationStr.Length}");

    // Result
    // Use string.PasRight(10, '_') to fill space result : CC001; Length: 10
    // Use string.Format() to fill space result : CC001; Length: 10
    // Use string Interpolation to fill space result : CC001; Length: 10

    Console.Read();
}

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言