Артём Мáлков

Как прибавить или вычесть процент от числа на PHP/JavaScript

19 окт11 комм

Эта статья будет полезна тем, кто управляет интернет-магазином. Почему? Представьте, что вы захотели поднять цену на 5% или, наоборот, сделать скидку клиентам, вычтя какой-то процент от указанной суммы.

Как это можно сделать, я сейчас расскажу.

На самом деле в обоих случаях кода будет минимальное количество. Основной принцип работы – это чистая математика.

Как прибавить или вычесть процент от числа на PHP

Напишем небольшую функцию, которую будем использовать для сложения/вычитания процента:

function percent($number) {

	$percent = "30"; // Необходимый процент
	$number_percent = $number / 100 * $percent;
	
	return $number + $number_percent;
	
}

$new_price = percent("1000"); // Новая цена

«30» здесь – нужный нам процент (от 0 до 100 соответственно), а знак «+» означает, что мы прибавляем нужный нам процент.

Как прибавить или вычесть процент от числа на JavaScript

Здесь делается все по аналогии с вариантом выше:

function percent(number) {

	var percent = "30"; // Необходимый процент
	var number_percent = number / 100 * percent;
	
	return Number(number_percent) + Number(number);
	
}

var new_price = percent("1000"); // Новая цена

Процент и действие над ним изменить труда, думаю, для вас не составит, все эти моменты прокомментированы в коде.

Рекомендуем к просмотру
Проверка, является ли переменная целым числом на PHP/JavaScript
Статьи и советы
«Нулевые» посещения, или Как я уменьшил процент отказов в Яндекс.Метрике
Статьи и советы
Разбиваем числа на разряды на JavaScript/PHP
Статьи и советы
11
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 2
    3
      •  Проверенный
    31 авг в 14:32

    Артём, спасибо всё завелось!)))

    • 3
    1067
      •  Команда Pandoge
    30 авг в 23:13

    Irina, Обновил скрипт в комментарии выше. Пробуйте.

    • 2
    3
      •  Проверенный
    30 авг в 22:42

    Артём, спасибо за вариант, но у меня он не завёлся - https://jsfiddle.net/yx5gL0nf/

    • 1
    1067
      •  Команда Pandoge
    21 авг в 13:53

    Irina, попробуйте так:

    function percent(number, percent) {
    
    	var number_percent = number / 100 * percent;
    	
    	return Number(number) - Number(number_percent);
    	
    }
    
    $(document).ready(function() {
    
    	var original_price = $(".price").text().replace(/[^0-9]/gim, ""); // .price - класс элемента откуда берем цену
      
    	var price_1 = percent(original_price, 5); // Понижаем оригинальную цену на 5%
    	var price_2 = percent(original_price, 10); // Понижаем оригинальную цену на 10%
    	var price_3 = percent(original_price, 15); // Понижаем оригинальную цену на 15%
      
    	$(".price_1").html(price_1+" руб."); // Вставляем цену с 5% скидкой в .price_1
    	$(".price_2").html(price_2+" руб."); // Вставляем цену с 10% скидкой в .price_2
    	$(".price_3").html(price_3+" руб."); // Вставляем цену с 15% скидкой в .price_3
    
    });
    • 0
    3
      •  Проверенный
    21 авг в 10:05

    Артем, а как сделать на jquery чтобы сумма бралась и потом из неё высчитывалось 3 других суммы и записывались ниже. Вот пример о чём речь- https://imgur.com/jUVwe8b

    • 0
    1067
      •  Команда Pandoge
    11 июн в 22:03

    Александр, интереса ради. Попробуйте убрать процент и просто разделить на 100. Если разделиться - значит процент просто не в том типе. Замените его integer.

    • 0
    766
      •  Гости
    10 июн в 11:01

    это калькулятор есть 2 input'a в них вводится значение и они перемножаются. Результат записывается в переменную result. Так же есть 1 чек бокс по клику которого от суммы reuslt вычисляется 5% и добавляется эти получившиеся 5% к ней же(result).

    • 0
    1067
      •  Команда Pandoge
    10 июн в 02:17

    Александр, плохо понимаю код.

    Можно более подробно рассказать что он делает или показать пример его работы?

    • 0
    766
      •  Гости
    10 июн в 00:20

    Есть код:

    auctionCheck.addEventListener ('change', () => {

    if (auctionCheck.checked) {

    let totalpercent

    total = resultMoney;

    totalpercent = total / 100 * percent;

    return totalpercent + resultMoney;

    totalValue.value = resultMoney;

    }else{

    totalValue.value = inputMoney.value;

    }

    });

    мне надо чтобы от суммы resultMoney вычислялось 5% которые занесены в переменную percent. Я не пойму почему выдаёт ноль? Заранее благодарен.

    • 6
    1067
      •  Команда Pandoge
    5 мар в 22:57

    Денис, как-то так:

    function percent(number) {

    var percent = "10"; // Необходимый процент

    var number_percent = number / 100 * percent;

    return Number(number) - Number(number_percent);

    }

    var get_prise = $("#proc").text().replace(/\s/g, '');

    var new_price = percent(get_prise); // Новая цена

    $("#proc").html(new_price.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 '));

    • 0
    766
      •  Гости
    5 мар в 22:22

    Здравствуйте, скажите пжл. на основе вашего примера, у меня есть div с числом, как мне от него отнять 10%

    <div id="proc">6 320</div>

    если можно на jquery

    заранее спс.

Подняться наверх
«Pandoge» - помощник вебмастера