【发布时间】:2020-01-16 05:02:01
【问题描述】:
我将从用户的 onclick javascript 中获取 jsvariable。用户将输入他们在 $xx.xx 金额中花费的金额。它将以字符串形式出现。我需要计算金额,所以我需要它作为浮点数。
我以字符串为例。我将它从 javascript 中提取到一个 php 字符串变量中:
<script> var jsvariable = "2.25"; </script>
<?php $x = "<script>document.writeln(jsvariable);</script>";
echo $x; var_dump($x); ?>
echo $x 显示 2.25。 var_dump 显示 $x 是一个字符串(38)“2.25” 所以它现在在 php 中显示 $x 变量是一个 38 个字符的字符串,但它只包含 5 个字符。
然后我尝试使用 settype 函数对其进行转换。也尝试重新铸造它。它没有转换它。
<?php
settype($x, "float");
echo "After settype x is "; echo $x; var_dump($x);
$y = (float)$x ;
echo " y cast y is "; echo $y; var_dump ($y);
?>
settype x 为 0 后 float(0)
投射后 y 为 0 float(0)
如何将 $x 字符串转换为正确值为 2.25 的浮点数?
【问题讨论】:
-
我跳过检索代码的部分原因是虽然我有一个好的开始,但我还没有完全解决它。还因为即使我学习了一种更好的方法来做到这一点,例如让 js 以数字形式读取的方法.... settype 并没有像我预期的那样工作,这让我很烦恼。
-
$x是一个带有 HTML 标签的字符串,虽然它会将 2.25 回显到浏览器,但尝试将其转换为浮点数会失败。 -
当 $x = "" 时,那么 $x 永远不会是“2.25”并且不能转换为 2.25 的浮点数。它是 1,因为将 true 转换为数字将导致 1。
-
我如何将 html 标签串起来,并将 $x 变成可以转换为数字的字符串?
-
您阅读过文档吗?
settype Returns TRUE on success or FALSE on failure
标签: javascript php type-conversion optionsettype