Я написал следующую простую функцию, которая возвращает число с максимум 6 десятичными разрядами:
getFixedDecimalValue(number) {
let fixedDecimalValue = (((number *= 1000000) - (number % 1)) / 1000000);
return fixedDecimalValue;
}
Я хотел бы, чтобы эта функция принимала второй параметр, который определял бы, сколько десятичных разрядов нужно вычислить, а затем вернуло это значение (по умолчанию 6 dp).
Что-то типа:
getFixedDecimalValue(number, decimalPlaces = 6) {
let fixedDecimalValue = (((number *= decimalPlaces) - (number % 1)) / decimalPlaces);
return fixedDecimalValue;
}
Вопрос .
Что такое элегантный метод поворота
6 into 1000000
Или номер
3 into 1000
Благодарность!
4 ответа
function elegantMethod(number) {
return Math.pow(10, number);
}
Спасибо «Программисту» за сообщение о Math.pow
Вот рабочая функция, которая по умолчанию имеет 6 десятичных знаков:
getFixedDecimalValue(inputNum, decimalPlaces = 6) {
let num = Math.pow(10, decimalPlaces);
let fixedDecimalValue = (((inputNum *= num) - (inputNum % 1)) / num);
return fixedDecimalValue;
},
Другим методом Math.pow
может быть использование String#repeat
:
const nZeros = n => +('1'+'0'.repeat(n));
console.log(nZeros(3));
// x = integer
result = "1";
while (x--) result += 0;
Или
result = 1;
while (x--) result *= 10;
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.