سؤال

لقد كنتم متعاونين للغاية يا رفاق بالأمس.ما زلت مرتبكًا بعض الشيء هنا بالرغم من ذلك.

أريد أن أقوم بذلك بحيث يتم تقريب الأرقام الموجودة في العمود الموجود في أقصى اليمين إلى أقرب دولار:

http://www.nextadvisor.com/voip_services/voip_calculator.php?monthlybill=50&Submit=Submit

يبدو رمز الجدول كما يلي:

أريد تقريب $offer[1,2,3,4,5,6,7]calc Savingsann، كيف يمكن القيام بذلك؟

 <table width="100%;" border="0" cellspacing="0" cellpadding="0"class="credit_table2" >

    <tr class="credit_table2_brd">
     <td class="credit_table2_brd_lbl" width="100px;">Services:</td>
<td class="credit_table2_brd_lbl" width="120px;">Our Ratings:</td>
<td class="credit_table2_brd_lbl" width="155px;">Monthly VoIP Bill:</td>
<td class="credit_table2_brd_lbl" width="155px;">Annual Savings:</td>

   </tr>  

   <?php

 $offer1price="24.99";
 $offer2price="20.00";
 $offer3price="21.95";
 $offer4price="23.95";
 $offer5price="19.95";
 $offer6price="23.97";
 $offer7price="24.99";

 $offer1calcsavings= $monthlybill - $offer1price;
 $offer2calcsavings= $monthlybill - $offer2price;
 $offer3calcsavings= $monthlybill - $offer3price;
 $offer4calcsavings= $monthlybill - $offer4price;
 $offer5calcsavings= $monthlybill - $offer5price;
 $offer6calcsavings= $monthlybill - $offer6price;
 $offer7calcsavings= $monthlybill - $offer7price;

 $monthybill="monthlybill";

 $offer1calcsavingsann= $offer1calcsavings * 12;
 $offer2calcsavingsann= $offer2calcsavings * 12;
 $offer3calcsavingsann= $offer3calcsavings * 12;
 $offer4calcsavingsann= $offer4calcsavings * 12;
 $offer5calcsavingsann= $offer5calcsavings * 12;
 $offer6calcsavingsann= $offer6calcsavings * 12;
 $offer7calcsavingsann= $offer7calcsavings * 12;

   $re=1;
   $offer ='offer'.$re.'name';
 $offername= ${$offer};
   while($offername!=""){
$offerlo ='offer'.$re.'logo';
$offerlogo=${$offerlo};
$offerli ='offer'.$re.'link';
$offerlink=${$offerli};
$offeran ='offer'.$re.'anchor';
$offeranchor=${$offeran};
$offerst ='offer'.$re.'star1';
$offerstar=${$offerst};
$offerbot='offer'.$re.'bottomline';
$offerbottomline=${$offerbot};
$offerca ='offer'.$re.'calcsavings';
$offercalcsavings=${$offerca};
    $offerpr ='offer'.$re.'price';
$offerprice=${$offerpr};
$offersavann ='offer'.$re.'calcsavingsann';
$offercalcsavingsann=${$offersavann};

echo '<tr >
     <td >
 <a href="'.$offerlink.'" target="blank"><img src="http://www.nextadvisor.com'.$offerlogo.'" alt="'.$offername.'" />
 </a>
 </td>
<td ><span class="rating_text">Rating:</span>
 <span class="star_rating1">
 <img src="http://www.nextadvisor.com'.$offerstar.'" alt="" />
 </span>
 <br />
  <div style="margin-top:5px; color:#0000FF;">
 <a href="'.$offerlink.'" target="blank">Go to Site</a>
 <span style="margin:0px 7px 0px 7px;">|</span><a href="'.$offeranchor.'">Review</a>     

 </div> </td>
       <td >$'.$offerprice.'</td>
     <td >$'.$offercalcsavingsann.'</td>


   </tr>';
   $re=$re+1;
   $offer ='offer'.$re.'name';
 $offername= ${$offer};

   }



   ?>



 </table>
هل كانت مفيدة؟

المحلول

هل تريد التقريب لأعلى/لأسفل/اقتطاعها إلى أقرب دولار؟

فيما يلي بعض الوظائف المقترحة التي يمكنك استخدامها:

التقريب

دائري

أرضية

سقف

التنسيق/الاقتطاع

sprintf

نصائح أخرى

والجواب Grepsedawk هو جيد. الشيء الوحيد الذي أود أن أضيف هو أنه بدلا من عرض $ 336.6، على سبيل المثال، يمكن أن تستخدم number_format لإخراج $ 336.60 .

(وأنا أعلم أن هذا لم يكن سؤالك، ولكن بالنظر إلى الارتباط، وأعتقد أن قد يكون من المفيد بالنسبة لك.)

وتحرير - شكرا لاندي لاقتراح money_format بدلا من ذلك

وmoney_format() هو دالة تقوم بإرجاع قيمة سلسلة من عدد تنسيقها. لديك السيطرة على التنسيق، وبطبيعة الحال، رقمك. وهناك مثال بسيط، إذا كان لديك القيمة الخاصة بك في $myNumber متغير، هل يمكن أن تتضمن النتيجة في الخلية بيانات جدول محدد لمثل ذلك؛

<?php echo ("<td>".money_format('%n',$myNumber)."</td>"); ?>

وكنت في حاجة للقيام بذلك لكل قيمة، على سبيل المثال عبر حلقة for إذا كان لديك كل القيم الخاصة بك في صفيف. وn هنا هو واحد من خيارات التنسيق - هناك عدة. ومن شأن مكان جيد للبحث يكون على صفحة الويب PHP على HTTP: / /au2.php.net/manual/en/function.money-format.php ويساعد هذا الأمل.

وأنا لا يمكن أن يبدو للحصول على حق استخدام. الطريق أستخدمه صدى هي

echo '<tr >

  <td ><a href="'.$offerlink.'" target="blank"><img src="http://www.nextadvisor.com'.$offerlogo.'" alt="'.$offername.'" /></a></td>

 <td ><span class="rating_text">Rating:</span><span class="star_rating1"><img src="http://www.nextadvisor.com'.$offerstar.'" alt="" /></span><br />

  <div style="margin-top:5px; color:#0000FF;"><a href="'.$offerlink.'" target="blank">Go to Site</a><span style="margin:0px 7px 0px 7px;">|</span><a href="'.$offeranchor.'">Review</a></div>   </td>

  <td >$'.$offerprice.'</td>

<td >$'.$offercalcsavingsann.'</td>


   </tr>';

وأنا وضعت "مجموعة لغة" من حيث انتهى

 "<?php" 

وهو. أنا لا أفهم كيف يمكن أن يكتب لها، وبكل وسيلة أفعل يعود مجرد خطأ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top