[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: есть число 15.432876712. Оставить только целое
denlam
есть число 15.432876712. Оставить только целое.
С помощью какого оператора можно "отрубать" "нецелую" часть?
То есть из числа $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;
или вот так rolleyes.gif Лано! пора ити работать smile.gif

Спустя 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 написал(а):
Нифига вы все не правы! smile.gif

Вот еще вариант:
$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 написал(а):
можно еще класс создать для обрезания не целочисленной части числа biggrin.gif

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

Спустя 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()
laugh.gif

Спустя 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);

biggrin.gif

Спустя 5 минут, 37 секунд (1.04.2010 - 13:52) twin написал(а):
Я ниче не пропустил? smile.gif
Свернутый текст
<?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;
bcscale(0);
echo bcdiv($a,1);
от ещё 1 решение smile.gif)

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

Спустя 16 минут, 6 секунд (1.04.2010 - 14:22) DedMorozzz написал(а):
Ну коль так пошло дело, то от ещё 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 написал(а):
Дорабатывай мой скрипт, ведь это просто и прозрачно. smile.gif
И очень очень удобно. И экономично. И вообще круто.

Спустя 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 написал(а):
Да, было б интересно на всякие простые вещи находить извращеннные способы smile.gif

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

Кто короче? wink.gif

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

от так от! wink.gif

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

Я. biggrin.gif
$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 страниц и всё по теме smile.gif

Спустя 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);

Спустя 7 минут, 30 секунд (1.04.2010 - 20:30) twin написал(а):
А че мой класс побоку... mad.gif
Я старался, ночей не спал. sad.gif sad.gif

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

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

ты это точно twin-у..? wink.gif

Спустя 6 минут, 17 секунд (2.04.2010 - 08:10) twin написал(а):
100% smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.