本文目录
php中3个小数的计算,如134.7-52.5 - 82.2,为什么结果不是0而是一个奇怪的科学计数法
楼上的回答很详细了,而且,这不仅仅是php的问题,你在js里console.log(134.7-52.5 - 82.2)
也得不到0的,
如果真要用php进行float计算的话,推荐BCMATCH,如:
echo bcsub(bcsub(134.7,52.5,1),82.2,1);
php怎么生成缩略图
给你个函数吧 // *****生成缩略图***** // 只考虑jpg,png,gif格式 // $srcImgPath 源图象路径 // $targetImgPath 目标图象路径 // $targetW 目标图象宽度 // $targetH 目标图象高度 function makeThumbnail($srcImgPath,$targetImgPath,$targetW,$targetH) { $imgSize = GetImageSize($srcImgPath); $imgType = $imgSize; //@ 使函数不向页面输出错误信息 switch ($imgType) { case 1: $srcImg = @ImageCreateFromGIF($srcImgPath); break; case 2: $srcImg = @ImageCreateFromJpeg($srcImgPath); break; case 3: $srcImg = @ImageCreateFromPNG($srcImgPath); break; } //取源图象的宽高 $srcW = ImageSX($srcImg); $srcH = ImageSY($srcImg); if($srcW》$targetW || $srcH》$targetH) { $targetX = 0; $targetY = 0; if ($srcW 》 $srcH) { $finaW=$targetW; $finalH=round($srcH*$finaW/$srcW); $targetY=floor(($targetH-$finalH)/2); } else { $finalH=$targetH; $finaW=round($srcW*$finalH/$srcH); $targetX=floor(($targetW-$finaW)/2); } //function_exists 检查函数是否已定义 //ImageCreateTrueColor 本函数需要GD2.0.1或更高版本 if(function_exists("ImageCreateTrueColor")) { $targetImg=ImageCreateTrueColor($targetW,$targetH); } else { $targetImg=ImageCreate($targetW,$targetH); } $targetX=($targetX《0)?0:$targetX; $targetY=($targetX《0)?0:$targetY; $targetX=($targetX》($targetW/2))?floor($targetW/2):$targetX; $targetY=($targetY》($targetH/2))?floor($targetH/2):$targetY; //背景白色 $white = ImageColorAllocate($targetImg, 255,255,255); ImageFilledRectangle($targetImg,0,0,$targetW,$targetH,$white); /* PHP的GD扩展提供了两个函数来缩放图象: ImageCopyResized 在所有GD版本中有效,其缩放图象的算法比较粗糙,可能会导致图象边缘的锯齿。 ImageCopyResampled 需要GD2.0.1或更高版本,其像素插值算法得到的图象边缘比较平滑, 该函数的速度比ImageCopyResized慢。 */ if(function_exists("ImageCopyResampled")) { ImageCopyResampled($targetImg,$srcImg,$targetX,$targetY,0,0,$finaW,$finalH,$srcW,$srcH); } else { ImageCopyResized($targetImg,$srcImg,$targetX,$targetY,0,0,$finaW,$finalH,$srcW,$srcH); } switch ($imgType) { case 1: ImageGIF($targetImg,$targetImgPath); break; case 2: ImageJpeg($targetImg,$targetImgPath); break; case 3: ImagePNG($targetImg,$targetImgPath); break; } ImageDestroy($srcImg); ImageDestroy($targetImg); } else //不超出指定宽高则直接复制 { copy($srcImgPath,$targetImgPath); ImageDestroy($srcImg); } }代码已经测试,成功运行!
PHP如何获取百位数
如果没理解错 $hunderd = floor($num/1000); 然后转化得到的数字为string:$hunderd = (string)$hunderd;最后:$result = substr($hunderd,$hunderd.length-1);$result中就是百位数数字希望能帮到你
php中floor(7.8)的返回值是
php中floor(7.8)的返回值是float。根据查询相关公开信息显示:floor()返回的类型仍然是float,因为float值的范围通常比integer要大,将对不同的数应用floor()函数复制。