помогите с привести разницу цены к правильному виду

 
Добрый день ! хочу получить разницу текущей цены и предыдущей, получаю цены записываю их в массив и когда начинаю вычитать из текущего предыдущий результат получается примерно вот в таком виде 3е-005.0, что это за формат такой и как это можно исправить?
 

1) NormalizeDouble

2) DoubleToString

 
NormalizeDouble не срабатывает не пойму сам почему, прием в таком виде как я заметил приводится разница только соседних элементов массива, например mas[1]-mas[0] 
 
double j=NormalizeDouble((mb[i]-mb[0]),5);  вот в этом выражении если вычитается mb[1]-mb[0] тогда 3е-005.0 , на следующем круге когда mb[2]-mb[0] выводит нормально 0,00012(к примеру)
 
А DoubleToString для 3е-005.0 что выводит?
 
тоже самое выводит, мне интересно число в таком виде будет коректно распозноваться при сравнении, например вот так  3е-005.0> 0.00574 ?
 
SAVA:
Добрый день ! хочу получить разницу текущей цены и предыдущей, получаю цены записываю их в массив и когда начинаю вычитать из текущего предыдущий результат получается примерно вот в таком виде 3е-005.0, что это за формат такой и как это можно исправить?
Это просто научный формат представления числа. Означает "три, умноженное на десять в минус пятой степени", т. е. ноль целых и три стотысячных: 0.00003. Важно понимать, что это только формат отображения числа. Само же число в памяти от этого никак не изменяется и, соответственно, может использоваться как обычно.
Причина обращения: