Get length of decimal fraction

Benchmark created on


Setup

let value = 2.35;
function getDecimalSeparator(value) {
	// uses runtime locale
    return Intl.NumberFormat()
        .formatToParts(value)
        .find(part => part.type === 'decimal')
        .value;
}
const separator = getDecimalSeparator(value);

Test runner

Ready to run.

Testing in
TestOps/sec
while loop
let count = 0;
while (value % 1 !== 0) {
	value *= 10;
	count++;
}
return count;
ready
string parsing
const string = value.toString();
return string.substring(string.indexOf(separator) + 1).length;
ready
string parsing (no assignment)
return value.toString().substring(value.toString().indexOf(separator) + 1).length;
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.