Pergunta

Vocês foram muito útil ontem. Eu ainda estou um pouco confuso aqui embora.

Eu quero fazer com que os números na coluna mais à direita são arredondados para o dólar mais próximo:

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

O código para os olhares tabela como esta:

Eu quero $ oferta [1,2,3,4,5,6,7] calcsavingsann ser arredondada, como pode fazer isso?

 <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>
Foi útil?

Solução

Você quer arredondado para cima / baixo / truncado para o dólar mais próximo?

Aqui estão algumas funções sugeridas você pode usar:

Arredondamento

rodada

chão

ceil

Formatação / truncando

sprintf

Outras dicas

A resposta de Grepsedawk é bom; a única coisa que eu gostaria de acrescentar é que em vez de exibir $ 336,6, por exemplo, você poderia poderia usar number_format para a saída $ 336,60 .

(eu sei que isso não era a sua pergunta, mas olhando para o link, eu pensei que poderia ser útil para você.)

Edit -. Graças a Andy para sugerir money_format vez

money_format() é uma função que retorna um valor de cadeia de um número formatado. Você tem controle sobre a formatação e, obviamente, o seu número. Um exemplo simples, se você tem o seu valor no $myNumber variável, você poderia incorporar o resultado na célula de dados de uma determinada mesa como tal;

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

E você precisa fazer isso para cada valor, por exemplo, via um loop for se você tivesse todos os seus valores em uma matriz. O n aqui é uma das opções de formatação - existem vários. Um bom lugar para olhar seria na página web PHP em http: / /au2.php.net/manual/en/function.money-format.php Espero que isso ajude.

Eu não consigo obter o direito de uso. A maneira que eu estou usando eco é

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>';

Eu coloquei o "locale set" até onde o

 "<?php" 

é. Eu não entendo como escrevê-lo, e cada maneira que eu faço apenas retorna um erro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top