Php 如何准确地将字符串转换为十进制,反之亦然
我想首先说,如果这个问题已经被问到了,我很抱歉——我环顾四周,发现没有任何东西符合我的疑问。基本上,我想知道如何将字符串“100.0”或“100.”转换为浮点数100.0和100.0,以及如何确保浮点数100.0和100。彼此不平等(100、100、100等情况也是如此。谢谢 编辑:为了澄清不相等的问题,这里有一个例子: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
假设您有一个变量
$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。您需要将它们作为字符串而不是数字进行比较