Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何准确地将字符串转换为十进制,反之亦然_Php - Fatal编程技术网

Php 如何准确地将字符串转换为十进制,反之亦然

Php 如何准确地将字符串转换为十进制,反之亦然,php,Php,我想首先说,如果这个问题已经被问到了,我很抱歉——我环顾四周,发现没有任何东西符合我的疑问。基本上,我想知道如何将字符串“100.0”或“100.”转换为浮点数100.0和100.0,以及如何确保浮点数100.0和100。彼此不平等(100、100、100等情况也是如此。谢谢 编辑:为了澄清不相等的问题,这里有一个例子: 假设您有一个变量$a=100。和$b=100.0如果您定义了$a和$b,我想确保$a不等于$b,比如: $a = 100; $b = 100.0; …那么它们就不一样了。$a

我想首先说,如果这个问题已经被问到了,我很抱歉——我环顾四周,发现没有任何东西符合我的疑问。基本上,我想知道如何将字符串“100.0”或“100.”转换为浮点数100.0和100.0,以及如何确保浮点数100.0和100。彼此不平等(100、100、100等情况也是如此。谢谢

编辑:为了澄清不相等的问题,这里有一个例子:


假设您有一个变量
$a=100。
$b=100.0
如果您定义了
$a
$b
,我想确保$a不等于$b

,比如:

$a = 100;
$b = 100.0;
…那么它们就不一样了。
$a
是一个
整数
$b
是一个
浮点数
。您可以通过以下方式看到这一点:

var_dump($a, $b);
但是,由于它们都是numerice类型,因此需要使用
严格比较运算符比较它们:

if($a === $b) {
    echo "equal";
} else {
    echo "not equal";
}

如果将它们定义为字符串:

$a = "100";
$b = "100.0";
那么,即使是简单的相等运算符
=
也可以工作:

if($a == $b) {
    echo "equal";
} else {
    echo "not equal";
}

问题的这一部分毫无意义:“以及如何确保浮动100.0和100。不等于它们自己”;任何变量本身都将始终相等,100和100.0是相同的数字,因此也将始终彼此相等。如果要比较字符串,则需要在将其转换为数字之前进行比较。浮点表示法中只有一个
100
。这是不可能的。浮点数的物理表示法不是他也是。@IMSoP抱歉,让我澄清一下。假设您有一个变量$a=100。和$b=100.0,我想确保$a不等于$By。您需要将它们作为字符串而不是数字进行比较