С помощью какого оператора можно "отрубать" "нецелую" часть?
То есть из числа $a = 15.432876712; получить $b = 15; ?
Спустя 26 минут, 37 секунд (31.03.2010 - 23:21) twin написал(а):
round()
Спустя 8 часов, 46 минут, 53 секунды (1.04.2010 - 08:07) sergeiss написал(а):
Можно также intval() использовать.
Спустя 3 часа, 10 минут, 43 секунды (1.04.2010 - 11:18) olgatcpip написал(а):
explode(".",15.121);вот, если есть тяга к извращениям...
Спустя 3 минуты, 52 секунды (1.04.2010 - 11:22) DedMorozzz написал(а):
мона регурялкой ещё (= если уж так ахота не простым решением (nod)
Спустя 3 минуты, 52 секунды (1.04.2010 - 11:26) DedMorozzz написал(а):
$a = 15.432876712;от! пользуйся ((:
preg_match_all("#[^\.]+#",$a,$matches);
echo $matches[0][0];
Спустя 10 минут, 17 секунд (1.04.2010 - 11:36) DedMorozzz написал(а):
$a = 15.432876712;или вот так
$b=preg_replace("#\.(.*)#","",$a);
echo $b;


Спустя 43 минуты, 48 секунд (1.04.2010 - 12:20) jetistyum написал(а):
че ? идеи иссякли чоле?
а так
а так
$num = 15.432876712;
$roundednum = substr($num, 0, strpos($num, '.'));
Спустя 31 минута, 11 секунд (1.04.2010 - 12:51) sergeiss написал(а):
Нифига вы все не правы! 
Вот еще вариант:
Или так (просто и ясно, "по рабоче-крестьянски"):

Вот еще вариант:
$number=15.432876712;
$s=sprintf( '%d', $num);
Или так (просто и ясно, "по рабоче-крестьянски"):
$num=15.9874985712;
$count=strlen( $num );
$res='';
for( $i=0; $i<$count; $i++)
{
$c=substr( $num, $i, 1);
if( $c == '.' or $c == ',' ) break;
$res = $res.$c;
}
Спустя 3 минуты, 5 секунд (1.04.2010 - 12:54) ZSH написал(а):
можно еще класс создать для обрезания не целочисленной части числа

Спустя 2 минуты, 54 секунды (1.04.2010 - 12:57) sergeiss написал(а):
ZSH - ты не говори "можно" - ты создай и покажи этот класс народу!!! 

Спустя 20 минут, 52 секунды (1.04.2010 - 13:18) Kuliev написал(а):
$num = 15.432876712;
$arr_num = explode('.',$num);
echo $arr_num[0];
Спустя 11 минут, 11 секунд (1.04.2010 - 13:29) Гость_Soldier Ghost написал(а):
floor()

Спустя 14 минут, 21 секунда (1.04.2010 - 13:44) olgatcpip написал(а):
Kuliev, это уже было!
Спустя 2 минуты, 43 секунды (1.04.2010 - 13:46) Kuliev написал(а):
Цитата (olgatcpip @ 1.04.2010 - 15:44) |
Kuliev, это уже было! |
Простите просмотрел!
$num = 15.432876712;
$arr =str_split($num);
$arr_num = array();
for ($i = 0; $i < count($arr); $i++)
{
if($arr[$i] == ".")
break;
else
$arr_num[] = $arr[$i];
}
echo implode('',$arr_num);

Спустя 5 минут, 37 секунд (1.04.2010 - 13:52) twin написал(а):
Я ниче не пропустил?

Свернутый текст
<?php
interface plug
{
function display();
}
abstract class Hindu implements plug
{
protected $int = 0;
public function __construct($int)
{
$this->int = $int;
$this->cut();
$this->display();
}
abstract protected function cut();
public final function display()
{
echo $this->int;
}
}
class Twin extends Hindu
{
public function __construct($int)
{
parent::__construct($int);
}
public function bugaga()
{
$this->cut();
}
public function cut()
{
$this->int = round($this->int);
}
}
class Olgatcpip extends Hindu
{
public function __construct($int)
{
parent::__construct($int);
}
public function bugaga()
{
$this->cut();
}
public function cut()
{
$arr = explode(".", $this->int);
$this->int = $arr[0];
}
}
class DedMorozzz extends Hindu
{
public function __construct($int)
{
parent::__construct($int);
}
public function bugaga()
{
$this->cut();
}
public function cut()
{
preg_match_all("#[^\.]+#", $this->int, $matches);
$this->int = $matches[0][0];
}
}
class jetistyum extends Hindu
{
public function __construct($int)
{
parent::__construct($int);
}
public function bugaga()
{
$this->cut();
}
public function cut()
{
$this->int = substr($this->int, 0, strpos($this->int, '.'));
}
}
class sergeiss extends Hindu
{
public function __construct($int)
{
parent::__construct($int);
}
public function bugaga()
{
$this->cut();
}
public function cut()
{
$count = strlen($this->int);
$res = '';
for( $i = 0; $i < $count; $i++)
{
$c = substr( $this->int, $i, 1 );
if( $c == '.' or $c == ',' ) break;
$res = $res . $c;
}
$this->int = $res;
}
}
class Soldier_Ghost extends Hindu
{
public function __construct($int)
{
parent::__construct($int);
}
public function bugaga()
{
$this->cut();
}
public function cut()
{
$this->int = floor($this->int);
}
}
class Kuliev extends Hindu
{
public function __construct($int)
{
parent::__construct($int);
}
public function bugaga()
{
$this->cut();
}
public function cut()
{
$arr = str_split($this->int);
$arr_num = array();
for ($i = 0; $i < count($arr); $i++)
{
if($arr[$i] == ".")
break;
else
$arr_num[] = $arr[$i];
}
$this->int = implode('', $arr_num);
}
}
$int = 15.432876712;
// $obj = new Twin($int);
// $obj = new Olgatcpip($int);
// $obj = new DedMorozzz($int);
// $obj = new jetistyum($int);
// $obj = new sergeiss($int);
// $obj = new Soldier_Ghost($int);
$obj = new Kuliev($int);
$obj -> bugaga();
Спустя 2 минуты, 6 секунд (1.04.2010 - 13:54) DedMorozzz написал(а):
пропустил! 2е решение моё и он требовал быть абстрактным =))
Спустя 8 минут, 22 секунды (1.04.2010 - 14:02) DedMorozzz написал(а):
$a=15.432876712;от ещё 1 решение
bcscale(0);
echo bcdiv($a,1);

Спустя 3 минуты, 41 секунда (1.04.2010 - 14:06) sergeiss написал(а):
twin - где такая трава растёт?





Спустя 16 минут, 6 секунд (1.04.2010 - 14:22) DedMorozzz написал(а):
Ну коль так пошло дело, то от ещё 3 метода:
1.
2.
3.
1.
$a=15.432876712;
echo bcsub($a, 0 , 0);
2.
$a=15.432876712;
echo bcpow($a, 1,0);
3.
$a=15.432876712;
echo bcmul($a,1,0);
Спустя 2 минуты, 9 секунд (1.04.2010 - 14:24) twin написал(а):
Дорабатывай мой скрипт, ведь это просто и прозрачно.
И очень очень удобно. И экономично. И вообще круто.

И очень очень удобно. И экономично. И вообще круто.
Спустя 2 часа, 29 минут, 29 секунд (1.04.2010 - 16:54) phz написал(а):
$number = 15.432876712;
echo number_format($number, 0, '.', '');
// 15
Спустя 5 минут, 3 секунды (1.04.2010 - 16:59) olgatcpip написал(а):
Пора конкурс организовать...
Спустя 2 минуты, 1 секунда (1.04.2010 - 17:01) phz написал(а):
Да, было б интересно на всякие простые вещи находить извращеннные способы

Спустя 19 минут, 56 секунд (1.04.2010 - 17:21) FatCat написал(а):
$a = $a-$a%1;
Кто короче?

Спустя 14 минут, 41 секунда (1.04.2010 - 17:35) DedMorozzz написал(а):
FatCat
от так от!
$a=15.932876712;
echo $a=$a-$a%1;//15.932876712
от так от!

Спустя 4 минуты, 31 секунда (1.04.2010 - 17:40) twin написал(а):
Цитата |
Кто короче? |
Я.

$a=15.932876712;
echo 15;
Спустя 4 минуты, 19 секунд (1.04.2010 - 17:44) waldicom написал(а):
Хм... Смотрел смотрел на вас всех.. Решил свой вариант написать.
$a=15.932876712;
$b = 0.932876712;
$c = $a - $b;
echo $c;
Цитата |
Кто короче? wink.gif |
echo (int)$a
Спустя 20 минут, 4 секунды (1.04.2010 - 18:04) phz написал(а):
Через месяц в теме 950 страниц и всё по теме

Спустя 6 минут, 33 секунды (1.04.2010 - 18:11) DedMorozzz написал(а):
$a=15.932876712;
echo "F";//в 16и ричной системе...как не крути, а короче))
Спустя 2 часа, 11 минут, 40 секунд (1.04.2010 - 20:23) denlam написал(а):
короче нашел два более-менее простых решения
$b = ceil($a);
$b = $b - 1;
и второе решение полегче оказалось, спасибо Soldier Ghost
$b = floor($a);
$b = ceil($a);
$b = $b - 1;
и второе решение полегче оказалось, спасибо Soldier Ghost
$b = floor($a);
Спустя 7 минут, 30 секунд (1.04.2010 - 20:30) twin написал(а):
А че мой класс побоку...
Я старался, ночей не спал.

Я старался, ночей не спал.


Спустя 8 часов, 57 минут, 54 секунды (2.04.2010 - 05:28) olgatcpip написал(а):
twin не переживай, он глуп ещё, маааааленький, не понимает что ООП круууто....

Спустя 2 часа, 35 минут, 49 секунд (2.04.2010 - 08:04) Adil написал(а):
Цитата (olgatcpip @ 2.04.2010 - 06:28) |
не понимает что ООП круууто.... |
ты это точно twin-у..?

Спустя 6 минут, 17 секунд (2.04.2010 - 08:10) twin написал(а):
100%
