JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
Results in JavaScript console. Click Run to run code again.
JavaScript
function proposal1 (value)
{
return Math.floor(value * 100) / 100;
}
function proposal2 (value)
{
return Number(value.toString().match(/^\d+(?:\.\d{0,2})?/));
}
var value, result1, result2;
value = 15.7784514000;
result1 = proposal1(value);
result2 = proposal2(value);
console.log("p1: " + value + " --> " + result1);
console.log("p2: " + value + " --> " + result2);
var value = 1.13;
result1 = proposal1(value);
result2 = proposal2(value);
console.log("p1: " + value + " --> " + result1);
console.log("p2: " + value + " --> " + result2);
console.log("type of result is " + typeof proposal2(1.13 * 100 / 100));
// Benchmark
var value = 1.13 * 100;
var startTime = new Date();
var numRun = 1000000;
var nanosecondsPerMilliseconds = 1000000;
for (var run = 0; run < numRun; run++)
proposal2(value);
var endTime = new Date();
var timeDiffNs = nanosecondsPerMilliseconds * (endTime - startTime);
var timePerCallNs = timeDiffNs / numRun;
console.log("Time per call (nanoseconds): " + timePerCallNs);