Помогите разбить число на разряды javascript
Имеется такой скрипт, в конце функция разделения на разряды, но ни в какую не разделяет...
var wasUsed = false;
function doCalc(){
var meterPlus = 0;
var totalMaterial = 0;
var totalWorks = 0;
var userInputSquare = $('#square').val();
if($.isNumeric(userInputSquare) && userInputSquare <= 500){meterPlus = 4155.42;}else{meterPlus = 2849.11;}
if($.isNumeric(userInputSquare) && userInputSquare <= 0){meterPlus = 0;}
if($.isNumeric(userInputSquare) && userInputSquare <= 500){totalMaterial = (userInputSquare*meterPlus)*72/100;}else{totalMaterial = (userInputSquare*meterPlus)*28/100;}
if($.isNumeric(userInputSquare) && userInputSquare <= 500){totalWorks = (userInputSquare*meterPlus)*28/100;}else{totalWorks = (userInputSquare*meterPlus)*72/100;}
var totalPrice = userInputSquare*meterPlus;
$('#meter').html(meterPlus);
$('#material').html(totalMaterial);
$('#works').html(totalWorks);
$('#calcPrice').html(totalPrice);
}
$(document).ready(function(){
$(document).on('input', '#square, #material, #works, #calcPrice', function () {
$(this).val($(this).val().replace(/[^0-9.]/g, ""));
if($(this).val() > 9999) { $(this).val(1); }
doCalc();
});
$("input[name=texture]:radio").change(function () {
doCalc();
});
wasUsed = true; // init calc while not sending Yandex Goal
doCalc();
wasUsed = false;
});
function digits_int(target){
val = $(target).val().replace(/[^0-9]/g, '');
val = val.replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
$(target).val(val);
}
$(function($){
$('#calcForm').on('textarea', 'input', '#square, #material, #works, #calcPrice', function(e){
digits_int(this);
});
digits_int('textarea', 'input', '#square, #material, #works, #calcPrice');
});
И HTML:
<div class="configurator" id="calcForm">
<div id="question-1" class="question">
<p><strong class="red">Введите площадь пола (м<sup>2</sup>)</strong></p>
<input class="form-control bg-white mb-3 registration-input-box" type="number" id="square" name="square" value="0"/>
</div>
<div id="question-2" class="question">
<p>Стоимость руб./м<sup>2</sup>:</p>
<textarea class="form-control bg-white mb-3 registration-input-box" id="meter" name="meter"/></textarea>
</div>
<div id="question-3" class="question">
<p>Стоимость материалов (руб.):</p>
<textarea class="form-control bg-white mb-3 registration-input-box" id="material" name="material"/></textarea>
</div>
<div id="question-4" class="question">
<p>Стоимость работ (руб.):</p>
<textarea class="form-control bg-white mb-3 registration-input-box" id="works" name="works"/></textarea>
</div>
<div id="question-5" class="question">
<p>Общая стоимость (руб.):</p>
<textarea class="form-control bb-red mb-3 registration-input-box" id="calcPrice" name="calcPrice"/></textarea>
</div>
</div>
Подскажите пожалуйста, где ошибка, уже пару дней бьюсь...
Ответы (1 шт):
Автор решения: Руслан Шкарбан
→ Ссылка
не пробовал использовать Math.round()? https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Math/round