将非十进制数转换为十进制数
我想知道(因为我目前不知道,也找不到答案)如何将没有小数点的数字转换为带有小数点的数字。将非十进制数转换为十进制数
这是我想要发生的事情。
Input Output
1.20 1.20
1234 0.1234
0.23456 0.23456
4321 0.4321
所以基本上我需要接受输入数(从表单域,变量或其他)PHP函数,并且如果一个整数加0(零点)到开始处。如果输入的数字已经有一个小数点保留(我以后会用number_format)。
这种简单的解决方案应该这样做。
function to_decimal($in){
return (stripos($in, ".")!==false)? $in: "0.".$in;
}
试试这个
function dPoint($number)
{
if(is_float($number))
{
return $number;
}
else
{
return "0.".$number;
}
}
表单字段很难传递键入的值。他们通常是字符串。和'is_float(“12.4”)'是'false'。 –
这里有没有跛脚字符串连接
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
表单字段很难传递键入的值。他们通常是字符串。和'is_float(“12.4”)'是'false'。 –
'$ num/pow(10,strlen($ num))'是一个昂贵的操作。 –
表单域几乎不通过输入值我的解决方案。他们通常是字符串。和'is_float(“12.4”)'是'false'。 –