It appears that truncating also involves rounding, so your request for numbers to have only two decimals without rounding them seems a bit complicated and may lead to a lengthy discussion.
In the context of dealing with money, the issue lies not with the Math object itself but rather in how it is being utilized. I recommend familiarizing yourself with the Floating-point cheat sheet for JavaScript to avoid potential pitfalls such as encountering incorrect results in basic calculations like 1.40 - 1.00
.
To address your query, consider using a reliable library for handling arbitrary-precision decimals such as bignumber.js or decimals.js (just to name a few).
UPDATE:
If you require a quick code snippet, here's an approach I implemented previously:
function round2(d) { return Number(((d+'e'+2)|0)+'e-'+2); }