2

我只是对此感到好奇,想看看它是如何工作的。

$number = "3/4";
echo $number;

我得到 3/4 作为字符串

$number = 3/4;
echo $number;

我得到 0.75 因为它在做数学

我很想知道是否有办法从第一个中去除“/”,并将“/”之前的数字除以“/”之后的数字,这样它就会变成 0.75 而不是 3/ 4.

我为希望他们以十进制形式输入数字的人构建表单的原因。但是,如果有人输入 3/4,我将抛出一个错误,要求他们以十进制形式输入并给他们十进制数。

4

2 回答 2

2

一个简单的函数如下所示,如果需要,您也可以在其中抛出更多错误处理。

function makeDecimal($string)
{
   $parts = explode('/',$string);
   if(count($parts) != 2)
    //throw error here
   return intval($parts[0]) / intval($parts[1]);
}
于 2012-09-13T20:20:32.730 回答
1

您可以explode()使用“/”作为分隔符的表达式,然后对数字进行数学运算。

<?php
    $number = "3/4";
    $num = explode("/", $number);
    $a = $num[0];
    $b = $num[1];

    $result = ((float)$a) / ((float)$b);
    echo $result;
?>

希望这可以帮助

于 2012-09-13T20:20:14.633 回答