Добавить нули целому числу

283
23 января 2018, 10:37

Нужно добавить ценам два нуля, если цена указана целым цислом, а не дробным. Вот верстка

$('.menu-positions-item__price_js').each(function(){ 
			var price = $(this).text(); 
			if ((price+"").indexOf(".") <= 0) { 
		    	$(price).text($(price) + ".00"); 
			}  
		});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">10</span>&nbsp;</div> 
    </div> 
        <div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">20</span>&nbsp;</div> 
    </div> 
        <div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">22.10</span>&nbsp;</div> 
    </div>

То есть нужно числу "10" и "20" добавить нули с точкой, а число "22.10" оставить нетронутым. Не срабатывает, менял синтаксис много раз, все никак. Кто знает как это сделать правильно?

P.S. Если что, то цены заданы ACF plugin на WordPress, если это имеет какое-то значение, в чем я сомневаюсь.

Answer 1

$('.menu-positions-item__price_js').each(function(){ 
			var price = +$(this).text(); 
		    	$(this).text(price.toFixed(2)); 
		});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">10</span>&nbsp;</div> 
    </div> 
        <div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">20</span></div> 
    </div> 
        <div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">22.10</span></div> 
    </div>

Answer 2

Как-то так

$('.menu-positions-item__price_js').each(function(){ 
			let price = $(this).text(); 
      let regExp = '[.]+'; 
      if(price.match(regExp) == null) { 
         price += '.00'; 
         $(this).text(price); 
      } 
		});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">10</span>&nbsp;</div> 
    </div> 
        <div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">20</span>&nbsp;</div> 
    </div> 
        <div class = "menu-positions-item"> 
        <div class = "menu-positions-item__price"><span class = "menu-positions-item__price_js">22.10</span>&nbsp;</div> 
    </div>

READ ALSO
Не могу понять как изменить конкретный элемент

Не могу понять как изменить конкретный элемент

Не могу понять как мне изменить конкретный элементНашел задание реализовать книжную полку, не могу понять как мне изменить конкретную книгу,...

270
Как увеличить ширину модальности в Angular2?

Как увеличить ширину модальности в Angular2?

Для работы с модальным окном в Angular2 я использую ModalComponent, но проблема в том что если кол-во данных будет превышать нормы то появляется scroll,...

220