Показать запятые и десятичные разряды в возвращаемом результате - PullRequest
1 голос
/ 01 апреля 2020

Я создал простой калькулятор, который вычитает 20% от любого числа, которое вводится в поле ввода.

Я пытаюсь отобразить запятые и десятичные разряды на введенном и возвращенном числе.

Вот ссылка на мою скрипку.

https://jsfiddle.net/s0nta9we/1/

            <div class="salary-container">
                <h3 class="u-h4 u-margin-none">I want to see the breakdown for a salary of</h3>
                <span class="salary-input"><span class="salary-pound">£</span> <input type="number" min="17500" class="quantity input-text" name="quantity"></span>
                <button id="SubmitBtn" class="button submitbtn" value="Submit">Calculate</button>

            </div>

            <div class="valueDisplayed">
                <div class="valueDisplayed__item new-salary-container"">
                    <span class="result yearly font-bold"></span>
                </div>
 $(document).on('click', '.submitbtn', function (e) {
        e.preventDefault();

        var inputtedSalary = $(".quantity").val(),
            num = parseFloat(inputtedSalary),
            val = num - (num * .20),
            yearValue = $(".yearly");


        if (inputtedSalary === '') {
            yearValue.text('please enter a value');
        }

        if (inputtedSalary <= 17499) {
            yearValue.text('');

        } else if (inputtedSalary >= 17500) {
            yearValue.text(val);
        }

    });

Я новичок в JS, поэтому не совсем уверен, как справиться с этим.

Любые предложения или советы будут великолепны.

Спасибо

1 Ответ

0 голосов
/ 01 апреля 2020

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

Это может выглядеть примерно так

...
} else if (inputtedSalary >= 17500) {
    yearValue.text(val.toString().replace('.', ','));
}
...

Но я бы посоветовал взглянуть на Number.toLocaleString ( ). Это автоматически форматирует вашу валюту в правильный формат и может выглядеть примерно так

val.toLocaleString('en-GB', { style: 'currency', currency: 'GBP' });

Или вы можете использовать Intl.NumberFormat как junvar предлагаемый

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...