Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Округлить число, оставив два знака после запятой
 
 автор: and   (11.04.2006 в 21:13)   письмо автору
 
 

Как видно из кода, при выводе вычислений получается довольно много цифр после точки как сделать чтобы после точки выводились первые 2 цифры, а все остальные урезались. На примере кода пожалуста (pliz)

$shopping_cart_value_shown (цифры)


<td> <div align="left">
                  <input name=ca22 type=text class=rt value="{$shopping_cart_value_shown/4400*80|replace:'"':'&quot;'}">
                  руб</div></td>

   
 
 автор: malish   (11.04.2006 в 21:32)   письмо автору
 
   для: and   (11.04.2006 в 21:13)
 

должно помочь

intval($shopping_cart_value_shown/4400*80)

   
 
 автор: and   (11.04.2006 в 22:44)   письмо автору
 
   для: malish   (11.04.2006 в 21:32)
 

-

   
 
 автор: DDK   (11.04.2006 в 22:03)   письмо автору
 
   для: and   (11.04.2006 в 21:13)
 

http://www.php.net/manual/ru/function.floor.php

   
 
 автор: and   (11.04.2006 в 22:45)   письмо автору
 
   для: DDK   (11.04.2006 в 22:03)
 

автор: and (11.04.2006 в 22:44) письмо автору



Всебы хорошо но менять "{" на круглые скобки нельзя, в этом и вся проблема, значения подставлять не имеет смысла, а как заключить код в скобки не знаю



DDK спасибо за ссылку, познавательно.


echo round("вот сюда как затолкать мои значения", 2);
- вот эта функция меня интересует как ее интегрировать в код.

   
 
 автор: cheops   (12.04.2006 в 00:11)   письмо автору
 
   для: and   (11.04.2006 в 22:45)
 

Можно попробовать поступить следующим образом, но лучше упростить код.
<td> <div align="left"> 
                  <input name=ca22 type=text class=rt value="{round($shopping_cart_value_shown/4400*80,0)|replace:'"':'&quot;'}"> 
                  руб</div></td>

   
 
 автор: and   (12.04.2006 в 11:36)   письмо автору
 
   для: cheops   (12.04.2006 в 00:11)
 

Почему-то не прет, даже после упрошения, может все дело в "smarty"


{"round($shopping_cart_value_shown/4400*75)"}
или {round($shopping_cart_value_shown/4400*75)}

Здесь я отчаился, нашел другой выход:

Подскажите как обойти следующую проблему


<input name="textfield" type="text" value="0.0155896565" size="4" maxlength="4">

Почему maxlength, работает некоректно в opera, explorer но в mozilla все прекрасно работает, есть ли решение данной проблемы может с помощью ява скрипта как-то сделать подшаманить.

   
 
 автор: Trianon   (12.04.2006 в 12:27)   письмо автору
 
   для: and   (12.04.2006 в 11:36)
 

А что за механизм подстановки Вы пытаетесь применить?

   
 
 автор: and   (12.04.2006 в 12:29)   письмо автору
 
   для: Trianon   (12.04.2006 в 12:27)
 

В смысле

   
 
 автор: Trianon   (12.04.2006 в 12:36)   письмо автору
 
   для: and   (12.04.2006 в 12:29)
 

Ну Вы же ожидаете, что кто-то будет эту фигурную скобку опознавать, и начиная с нее, пытаться что-то вычислить. Кто, с Вашей точки зрения, это будет делать, и где Вы о такой возможности узнали?

Насколько мне известно, механизм обрамляющих фигурных скобок:
1. применяется для подстановки в heredoc-строках и строках с двойными кавычками.
2. применяется для подстановки лишь переменных, но никак не функций.
3. распознает лишь последовательности {$ b ${
но вполне может быть, что мы говорим о разных вещах. Поэтому я и спросил.

   
 
 автор: and   (12.04.2006 в 13:14)   письмо автору
 
   для: Trianon   (12.04.2006 в 12:36)
 

не знаю, скрипт дал знакомый вот и мучаюсь, а как решить проблему с maxlength

   
 
 автор: Trianon   (12.04.2006 в 13:23)   письмо автору
 
   для: and   (12.04.2006 в 13:14)
 

Тот участок, который Вы показали, формально ни одному языку не принадлежит, т.к. вырван из контекста. Прикрепите аттачем весь скрипт. Может быть тогда ситуация прояснится.

   
 
 автор: and   (12.04.2006 в 13:44)   письмо автору
 
   для: Trianon   (12.04.2006 в 13:23)
 

Этот скрипт в представлении не нуждается shop scrupt pro

   
 
 автор: Trianon   (12.04.2006 в 14:04)   письмо автору
 
   для: and   (12.04.2006 в 13:44)
 

Это не PHP. Это Smarty
Попробуйте
value="{$shopping_cart_value_shown/4400*80|truncate:5:'':true}">
Или как-то так.

   
 
 автор: and   (12.04.2006 в 16:44)   письмо автору
 
   для: Trianon   (12.04.2006 в 14:04)
 

Спасибо Trianon.

получился код:


{$shopping_cart_value_shown/4400|ceil}


и как все это чудо (после округления) умножить на 80

   
 
 автор: cheops   (13.04.2006 в 00:32)   письмо автору
 
   для: and   (12.04.2006 в 16:44)
 

А вы переменную $shopping_cart_value_shown заранее на 80 умножте.

   
 
 автор: and   (13.04.2006 в 18:53)   письмо автору
 
   для: cheops   (13.04.2006 в 00:32)
 

Заранее ненадо, у меня корзина построенна следующим образом:

1 dvd стоит 80 рублей, емкостььдиска 4400,
после деления мегабайт которые клиент выбрал на запись делятся на емкость диска и показывается сколько дисков клиент должен оплатить. А если он набрал 1.2 диска получиться 96 рублей, вместо 160рублей , что невыгодно с точки зрения расзодного материала (dvd диск, стоимостью 20рублей). Вот мне инужно после округления числа до целого умножить на фиксированную стоимость.


Буду дальше бродить по smarty сайту.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования