Простая проверка данных и математическая операция в JavaScript - PullRequest
1 голос
/ 11 февраля 2011

Мне нужно создать простой калькулятор, который вычисляет 1% от значения, предоставленного пользователем. Мне также нужно округлить его (пол) до десятой части после двоеточия.

Примеры:

input    1%        output
12.34    0.1234    0.10
2345.34  23.4534   23.40

Дополнительная информация:
- пользователи будут предоставлять денежные значения. Они могут использовать точки или запятую, чтобы отделить части значения. Оба входа 123.45 и 123,45 действительны.
- Мне нужно вычислить 1%, округлить его и отобразить в удобной для пользователя форме, например XX.YY

Пока я создал следующую функцию. Но это округляет значение странным образом. Например, для ввода «123.45» вывод будет 1.2000000000000002 (должен быть 1.20).

function calc(val)
{
var x = 0.1*Math.floor(0.1*val);
alert("your 1% is:\n"+x);
}

Javascript рассматривает только значения с точками как числа. Как я могу легко конвертировать значения с запятыми в числа?

А как отобразить результат с желаемой точностью?

1 Ответ

4 голосов
/ 11 февраля 2011
val = parseFloat(val.toString().replace(",", ".")); // just replace comma with dot
var x = (0.1*Math.floor(0.1*val)).toFixed(2); // toFixed leaves required amount of digits after dicimal dot.
alert("your 1% is:\n"+x);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...