2012-04-08 3 views
-1

Я читаю значение из ПЛК через стороннюю библиотеку, однако при сохранении как двойное значение представляется в научной нотации.Отображение научной нотации double в более читаемом формате

Значение в ПЛК 1.234 однако, при отладке приложения, значение хранится в контру 5.27326315571927E-315

Я отображая это в метке, но я хочу, чтобы отобразить его как 1.234 скорее, как научная нотация.

Как это можно преобразовать?

+3

FYI: '5.27326315571927E-315' =' 1.234'. Это '~ 0' –

+1

Я думаю, вам нужно показать код, но это звучит так, как будто вы поплавок в двойное или что-то в этом направлении –

ответ

2

Как мне кажется, вы должны читать 4 байта (float) из вашей библиотеки, а не double (8 байт).

С 5.27326315571927E-315почти 0.

double d = 5.27326315571927E-315; 
byte[] b = BitConverter.GetBytes(d); 
float f = BitConverter.ToSingle(new byte[] { b[0], b[1], b[2], b[3] }, 0); 

Р 1.2345 Теперь

+0

Интересно! Я изменил его, чтобы преобразовать значение в float, и теперь я получил значение 1.234. В примере кода они предоставили состояния для преобразования в double, и я сделал это в предыдущем проекте, и он работал нормально ... но не в этот раз! Благодаря! –

Смежные вопросы