Задать вопрос
mbxngtgo
@mbxngtgo
веб программист

Как в числе оставить две целые цифры после запятой?

Как в числе оставить две целые цифры после запятой динамически?

К примеру есть число.

0.00145

оставить 0.0014

1.0145
оставить 1.01

0.00008855
оставить 0.000088

Как осуществить динамически ?Есть примеры?
  • Вопрос задан
  • 461 просмотр
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
mbxngtgo
@mbxngtgo Автор вопроса
веб программист
Никто никогда не задавал такого подобного вопроса и в итоге разработал собственный велосипед.
Юзайте. Если у вас есть более короткий вариант в студию..
$value = $_GET['summa'];
$summa = $_GET['summa'];

$value	=	$value	+	0;

if (is_int($value)) {
    echo 'Целое число';
} elseif (is_float($value)) {
    //echo 'Число с плавающей точкой';
	
    $value = explode('.', $value);
    
    echo $value[0] . '.' . $value[1] . '<br>';
    
    if ($value[0] == 0) {
        
        echo 'Не целое дробное число<br>';
		
		if ($value[1][1]==!0 ){
			$summa = round($summa, 2);
			
			//echo $summa;
		}else if ($value[1][3]==!0 ){
			$summa = round($summa, 4);
			
			//echo $summa;
		}
        
    } else {
        
        $text    = $value[1];
        $findme2 = 'E-';
        
        if (stripos($text, $findme2) !== false) {
            
            echo 'Не целое дробное число';
            
            $value = number_format($value[0] . '.' . $value[1], 7);
            $summa = rtrim($value, '0');
			
        } else {
            //echo 'Не найдено';
            
            echo 'Целое число с  дробным окончанием';
            
            $summa = $summa;
            
            $summa = round($summa, 2);
            
            $summa = number_format($summa, 2, ',', ' ');

        }

    }
 
} else {
    echo 'Не число';
}

$summa = str_replace(".", ",", $summa);
echo $summa ;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
myks92
@myks92 Куратор тега PHP
Нашёл решение — пометь вопрос ответом!
round()

round(1.0145, 2); //1.01

Если нужно рандомное округление, то есть функция rand()

round(1.0145, rand(2,6));
Ответ написан
@inFureal
$num = 16234.3434;
$nulls = 2; // Количество знаков после запятой
$limiter = pow(10, $nulls);
echo ((int)($num * $limiter)) / $limiter;  // 16234.34

Не важно, какое число. Но решение Максим лучше, не знаю чем не понравилось
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽