floor decimals instead of toFixed to avoid rounding