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”,你就会得到它。