PDA

Показать полную графическую версию : [решено] Отображение больших чисел и приведение типов


DaniilS
22-05-2009, 14:01
Здравствуйте.
Пробую написать калькулятор и столкнулся с такой проблемой:
использую тип Double, если в числе более 15-и разрядов оно начинает отображаться в научном варианте т.е. 2,2Е5, приведение к Text ни чего не меняет, при приведении его к Decimal старшие 15 разрядов значащие остальные превращаются в нули, вроде этого 222222222222222000000000000.
Помогите, плиз, решить проблему с отображением или приведением.

Admiral
22-05-2009, 23:07
DaniilS, боюсь что встроенными средствами в VB это невозможно
Устройство типа данных Double в VB6 (http://www.vbstreets.ru/VB/Articles/66295.aspx)

Coutty
23-05-2009, 07:10
Я не знаю - там есть структуры и классы? Можно попробовать хранить младшие 8 разрядов в одной части переменной, вторые восемь - в другой, третьи - в третьей, а само число в текстовом виде (bigVar.a8 = 31254324; bigVar.a16 = 83701847; bigVar.a24 = 57; bigVar.value = 578370184731254324). Соответственно написать обработчики событий для этих больших чисел. Вместо структур и обычные переменные можно использовать, и массивы.

DaniilS
23-05-2009, 09:58
Спасибо за помощь.
Надо лучше работать со справкой. :(
Следует помнить, что с помощью числа с плавающей запятой можно аппроксимировать только десятичные числа, а точность, с которой аппроксимируется десятичное число, зависит от точности числа с плавающей запятой. По умолчанию значение Double содержит 15 десятичных цифр, хотя во внутреннем представлении может использоваться до 17 цифр.




© OSzone.net 2001-2012