将非十进制数转换为十进制数

时间:2013-01-22 08:21:49

标签: php

我想知道(因为我目前不知道也无法找到答案)如何将没有小数点的数字转换为带小数点的数字。

这就是我想要发生的事情。

Input         Output
1.20          1.20
1234          0.1234
0.23456       0.23456
4321          0.4321

所以基本上我需要一个接受输入数字(来自表单字段,变量或其他)的PHP函数,如果整数加0(零点)到开头。如果输入的数字已经有一个小数假(之后我将number_format)。

4 个答案:

答案 0 :(得分:2)

这个简单的解决方案应该这样做。

function to_decimal($in){
    return (stripos($in, ".")!==false)? $in: "0.".$in;
}

答案 1 :(得分:0)

您可以使用is_float

执行此类操作
if (!is_float($input))
{
  $result = "0." . $input
}

答案 2 :(得分:0)

试试这个

function dPoint($number)
{
    if(is_float($number))
    {
    return $number;
    }
    else
    {
    return "0.".$number;
    }
}

答案 3 :(得分:0)

这是我没有蹩脚字符串连接的解决方案

function leadingZero($num) {
  if (!ctype_digit($num)) {
     return $num/pow(10, strlen($num));
  }
  return $num;
}
// php> =leadingZero(4652)
// 0.4652
// php> =leadingZero(0.2)
// 0.2