Преобразовать процент в десятичную дробь и убрать знак процента в PHP?

Как лучше всего переместить десятичную дробь на два разряда и убрать знак процента в PHP?

Например:

9.5% превращается в .095

Есть ли для этого специальная функция?

Возможный дубликат Процент от десятичного? PHP

Mohammad 20.10.2018 11:43
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
1 778
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете легко создать свою собственную функцию следующим образом:

private function myConvertFunction($percentage)
{
    return floatval(str_replace('%', '', $percentage)) /100;
}

Вернусь

echo 'The result is : ' . myConvertFunction('9.5%');

The result is : 0.095

Но как это лучше всего сделать? В PHP нет встроенной функции?

user4183285 20.10.2018 11:42

Я не думаю, что такая функция существует ... поскольку она специфична для ваших нужд. Но, как я показал вам, на самом деле это не имеет большого значения, поскольку функция имеет длину 1 строку, и вы можете настроить ее по своему усмотрению, например, 1000 вместо 100, или если вам нужно удалить другой символ из вашей строки

Rémi Bosgaerd 20.10.2018 11:49

сначала удалите знак% из значения

$number = str_replace('%','',$number); 

преобразовать значение в требуемый формат

$number = $number * 0.01;

Не могли бы вы предоставить дополнительную информацию о том, как это было бы правильным решением? Что делает каждая строка и почему?

Brandon Buck 20.10.2018 12:56
Ответ принят как подходящий

Пока "%" находится в конце, вы можете просто преобразовать строку как число с плавающей запятой и разделить на 100:

echo (float)'9.5%'/100;

Выход:

0.095

Другие вопросы по теме