function floorDecimalPlaces(val, dp) {
var string_val = String(val);
var index_dot = string_val.indexOf(".");
if (val >=0 && val < 1 && index_dot == 0) {
	string_val = '0' + string_val;
	index_dot = string_val.indexOf(".");
}
if (index_dot == -1) {
	string_val += ".";
	index_dot = string_val.indexOf(".");
}
var decimal_places = string_val.length - index_dot - 1;
if (dp == 0) {
	dp = -1;
}
if (decimal_places > dp) {
	string_val = string_val.substring(0, index_dot + dp + 1);
}
else {
	if (decimal_places < dp) {
		var zeros = dp - decimal_places
		for (var i=0; i < zeros; i++) {
			string_val += "0";
		}
	}
}
return(string_val);
}
function roundDecimalPlaces(val, dp) {
val = parseFloat(val);
var temp_rounding = 5 * Math.pow(10, -(dp+1));
val += temp_rounding;
return(floorDecimalPlaces(val, dp));
}
