Как узнать количество знаков до точки и после?
Как узнать сколько знаков имеет число до точки и после точки?
Допустим есть такие числа:
var num = 14;
var num2 = 14.54;
var num3 = 514.0587;
var num4 = 0;
var num5 = 0.00000008;
Нужно вывести так:
Первое число это сколько знаков до точки, второе сколько знаков после точки
var num = [2, 0];
var num2 = [2, 2];
var num3 = [3, 4];
var num4 = [1, 0];
var num5 = [1, 8];
Ответы (1 шт):
Автор решения: MoloF
→ Ссылка
const num = 14;
const num2 = 14.54;
const num3 = 514.0587;
const num4 = 0;
const num5 = 0.00000008;
Number.prototype.numberOfCharactersBeforeAndAfter = function() {
const str = this.toString();
if (str.indexOf('e') === -1) {
const result = str.split('.').map(i => i.length);
return {
before: result[0],
after: result[1] || 0
}
}
const exponent = parseInt(str.split('-')[1], 10);
const result = this.toFixed(exponent).split('.').map(i => i.length);
return {
before: result[0],
after: result[1] || 0
}
}
console.log( num, num.numberOfCharactersBeforeAndAfter() );
console.log( num2, num2.numberOfCharactersBeforeAndAfter() );
console.log( num3, num3.numberOfCharactersBeforeAndAfter() );
console.log( num4, num4.numberOfCharactersBeforeAndAfter() );
console.log( num5, num5.numberOfCharactersBeforeAndAfter() );