function toFixed(arg, n) {
if(n == 0) {
return Math.round(arg)
}
try {
var d, carryD, i,
ds = arg.toString().split('.'),
len = ds[1].length,
b0 = '', k = 0
if (len > n) {
while(k < n && ds[1].substring(0, ++k) == '0') {
b0 += '0'
}
d = Number(ds[1].substring(0, n))
carryD = Math.round(Number('0.' + ds[1].substring(n, len)))
len = (d + carryD).toString().length
if (len > n) {
return Number(ds[0]) + 1
} else if (len == n) {
return Number(ds[0] + '.' + (d + carryD))
}
return Number(ds[0] + '.' + b0 + (d + carryD))
}
} catch (e) {}
return arg
}