Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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表单post值工作不正常_Php_Html - Fatal编程技术网

php表单post值工作不正常

php表单post值工作不正常,php,html,Php,Html,如果我做了正常的计算意味着它工作,但是如果我从表单传递值意味着它不工作,请帮助我 例如: echo $a=(1.5 * 10E-8) - (4.6 * 10E-8); echo $m3=($_REQUEST['m3']); echo "<br>"; \* m3 value getting from form */ echo $m2=($_REQUEST['m2']); echo "<br>"; \* m2 value getting from form */ echo

如果我做了正常的计算意味着它工作,但是如果我从表单传递值意味着它不工作,请帮助我

例如:

echo $a=(1.5 * 10E-8) - (4.6 * 10E-8); 
echo $m3=($_REQUEST['m3']); echo "<br>"; \* m3 value getting from form */
echo $m2=($_REQUEST['m2']); echo "<br>"; \* m2 value getting from form */
echo $b=$m3-$m2; 
结果:-3.1E-7,但当我从表格中获取值时,它不起作用

例如:

echo $a=(1.5 * 10E-8) - (4.6 * 10E-8); 
echo $m3=($_REQUEST['m3']); echo "<br>"; \* m3 value getting from form */
echo $m2=($_REQUEST['m2']); echo "<br>"; \* m2 value getting from form */
echo $b=$m3-$m2; 
echo$m3=($_请求['m3']);回声“
”;\*从表单中获取m3值*/ echo$m2=($_请求['m2']);回声“
”;\*从表单中获取m2值*/ echo$b=$m3-$m2;
结果:-3.1


我需要的结果完全与科学的符号。

形式工作正常。您只需始终以科学符号表示您的结果,并从表单输入中删除*:

$a = '1.510E-8';
$b = '4.610E-8';
echo sprintf('%e', $a-$b);
//result: -3.100000e-8

表单值返回字符串或字符串数组。如果要使用它们进行计算,则需要将它们转换为数字类型

例如:

$m3 = intval($_REQUEST["m3"]);

您需要
cast
将表单的post值转换为
float

echo $m3=(float)($_REQUEST['m3']); echo "<br>"; \* m3 value getting from form */
echo $m2=(float)($_REQUEST['m2']); echo "<br>"; \* m2 value getting from form */
echo $b=$m3-$m2; 
echo$m3=(浮动)($_请求['m3']);回声“
”;\*从表单中获取m3值*/ echo$m2=(浮动)($_请求['m2']);回声“
”;\*从表单中获取m2值*/ echo$b=$m3-$m2;
您可能需要强制更改变量类型。默认情况下,它将作为字符串发布。这是因为从表单传递的所有值都是字符串。您必须将这些字符串转换为正确的类型才能进行计算。此问题似乎与主题无关,因为它与未阅读手册有关。echo$a=(5.4*10E-8)-(9.8*10E-9);回声“
”;结果:4.42E-7如果我从表单输入中删除*意味着我得到了错误的输出dude…$a='1.510E-8'$b='4.610E-8';echo sprintf('%e',$a-$b)//结果:1.04x10e-8vg见我最后的评论,就像我只需要结果一样。我建议你将结果中的“E”替换为“x10e”,你就会得到它。