使用PHP格式化浮点数

时间:2016-02-17 12:44:23

标签: php

我想格式化一个浮动数字,如下所示:

  • 输入: 1.7
  • 输出 01.70

我已经尝试了以下功能。

sprintf("%02.02f", 1.7);

请帮忙。

3 个答案:

答案 0 :(得分:4)

尝试:

sprintf('%05.2f', 1.7);

<强>解释

forum post向我指出了正确的方向:第一个数字既不表示前导零的数量,也不表示小数分隔符左侧的总字符数,而是表示总字符数。结果字符串!

示例 sprintf('%02.2f', 1.7);至少产生十进制分隔符“。”加上至少2个字符的精度。由于总共已有3个字符,因此开头的%02无效。要获得所需的“2前导零”,需要为精度和小数分隔符添加3个字符,使其成为sprintf('%05.2f', 1.7);

答案 1 :(得分:1)

您是否尝试使用str_pad()?这是字符串,这就是你需要的,因为$var = 001是一个八进制,$var = "001"是一个字符串。

   $input = 1.7;
   $output = str_pad($input, "0", 2, STR_PAD_BOTH)

答案 2 :(得分:1)

试试这个

sprintf('%05.2f', 1.7);