Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.10.2020, 14:44
Интересующийся
Отправить личное сообщение для sega1821 Посмотреть профиль Найти все сообщения от sega1821
 
Регистрация: 30.10.2020
Сообщений: 29

Прибавить 5% к цене и округлить до тысяч
Помогите пожалуйста. У меня вычисляется процент, но как его прибавить к числу и округлить до тысяч, я не понимаю.

<p class="pColor">
<span class="datePlus">25000</span>
</p>
<p class="pColor">
<span class="datePlus">30000</span>
</p>

$( ".datePlus" ).each(function() {
$( this ).html( parseInt($( this ).html()) /100 * 5 );
});
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2020, 15:08
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

$( this ).html( ( ( parseFloat($( this ).html()) * 1.05 / 1000 + 0.5) | 0 ) * 1000 );

Последний раз редактировалось voraa, 30.10.2020 в 15:11.
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2020, 15:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

sega1821,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script>
$(function() {
$( ".datePlus" ).each(function() {
var num = Number(this.innerHTML);
num *= 1.05;
num /= 1000;
num = Math.round(num);
num *= 1000;
num = num.toString().replace(/(?=\B(?:\d{3})+(?!\d))/g, ' ');
this.innerHTML = num
});
});
  </script>
</head>
<body>
<p class="pColor">
<span class="datePlus">25000</span>
</p>
<p class="pColor">
<span class="datePlus">30000</span>
</p>
</body>
</html>

Последний раз редактировалось рони, 30.10.2020 в 17:26.
Ответить с цитированием
  #4 (permalink)  
Старый 30.10.2020, 15:42
Интересующийся
Отправить личное сообщение для sega1821 Посмотреть профиль Найти все сообщения от sega1821
 
Регистрация: 30.10.2020
Сообщений: 29

Спасибо большое
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2020, 15:44
Интересующийся
Отправить личное сообщение для sega1821 Посмотреть профиль Найти все сообщения от sega1821
 
Регистрация: 30.10.2020
Сообщений: 29

Спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 30.10.2020, 16:14
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

num /= 1000;
num = Math.trunc(num);
num *= 1000;

Это всегда округление в меньшую сторону
Так 12900 будет округлено до 12000, а не до 13000 (как это подразумевает понятие "округление")
Хотя, как надо автору, непонятно.
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2020, 16:52
Интересующийся
Отправить личное сообщение для sega1821 Посмотреть профиль Найти все сообщения от sega1821
 
Регистрация: 30.10.2020
Сообщений: 29

Спасибо, в любую сторону округление) Теперь столкнулся с проблемой, что бы число выводилось с пробелами после сотых и тысячных))
Ответить с цитированием
  #8 (permalink)  
Старый 30.10.2020, 17:06
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Сообщение от sega1821
что бы число выводилось с пробелами после сотых и тысячных))
У вас же целые числа. Откуда там сотые и тысячные?
Поясните примером
Ответить с цитированием
  #9 (permalink)  
Старый 30.10.2020, 17:19
Интересующийся
Отправить личное сообщение для sega1821 Посмотреть профиль Найти все сообщения от sega1821
 
Регистрация: 30.10.2020
Сообщений: 29

<p class="pColor">Цена:
<span class="datePlus">25000</span>
</p>
<p class="pColor">Цена:
<span class="datePlus">30000</span>
</p>


$( ".datePlus" ).each(function() {
$( this ).html( ( ( parseFloat($( this ).html()) * 1.05 / 1000 + 0.5) | 0 ) * 1000 );
});



Результат:

Цена: 26000
Цена: 32000

Мне необходимо, что бы в результате получилось:

Цена: 26 000
Цена: 32 000
Ответить с цитированием
  #10 (permalink)  
Старый 30.10.2020, 17:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

sega1821,
смотрите пост #3 снова.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск