fix(numberFilter): format large numbers  correctly

format large number to correct form instead of NAN.00 currently.
in previous code when first time we add the exponent with fractionSize
(number.toString()+'e'+fractionsize)
 and then convert it to an integer using ,
+(number.toString()+'e'+fractionsize)
when the number is very large and number will be represented by using exponent. for example 12345868059685210000 will be represented by 1.234586805968521e+21. as getting string in exponent is not handles, we get the number as NAN.
Handle when the number is being represented in exponent form, by adjusting exponent of number with fraction size:

Closes #8674
LGTM with nit:

This routine is very cryptically named, and it's pretty hard to follow the long expression on the third line --- please organize this better so that it's easier to understand, and add some comments --- some additional test cases would also be helpful just to make sure you don't surprise yourself in some cases.

I don't think the name `timesPow10