PHP integer part padding

前端 未结 5 2007
北恋
北恋 2020-12-21 04:32

I need to pad the integer part with 0, the integer part must be at least 2 characters

str_pad( 2    ,2,\"0\",STR_PAD_LEFT);// 02 -> works
str_pad( 22   ,2         


        
5条回答
  •  无人及你
    2020-12-21 05:02

    Another one :

    function my_str_pad ($input ,$pad_length, $pad_string) {
        $pad_length += strlen($input) - strlen(intval($input));
    
        return str_pad($input, $pad_length, $pad_string, STR_PAD_LEFT);
    }
    

    The following test :

    str_pad(2., 2, "0", STR_PAD_LEFT);// 2. -> fails -> 02. or 02
    

    Fails because str_pad is working on a string, but you entered a number with a decimal but no decimal part so it is considered as an integer. If you want to keep the '.' use the following instead :

    str_pad("2.", 2, "0" , STR_PAD_LEFT);// 2. -> works
    

提交回复
热议问题