Вы, ребята, вчера нам очень помогли. Хотя я все еще немного запутался.
Я хочу сделать так, чтобы числа в крайнем правом столбце округлялись до ближайшего доллара:
http://www.nextadvisor.com/voip_services/voip_calculator.php?monthlybill=50&Submit=Submit
код таблицы выглядит так:
Я хочу округлить $ offer [1,2,3,4,5,6,7] calcsavingsann. Как это сделать?
<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>






Ответ Grepsedawk хорош; единственное, что я хотел бы добавить, это то, что вместо отображения, например, 336,6 долларов, вы могли бы использовать number_format для вывода 336,60 долларов.
(Я знаю, что это был не ваш вопрос, но, просмотрев ссылку, я подумал, что это может быть вам полезно.)
Изменить - Спасибо Энди за предложение money_format вместо этого.
Да, но где мне поставить "numbe_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"
является. Я не понимаю, как это писать, и всякий раз, когда я это делаю, просто возвращает ошибку.
Однако money_format лучше подходит для форматирования валюты.