Десятичные знаки и строки - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть таблица базы данных с десятичным (25) типом данных.Данные из этого столбца загружаются в переменную в VB.NET.В .NET не выполняется никаких вычислений для переменной.Должен ли я использовать десятичный тип данных или тип данных String в .NET?

Такое же поле базы данных используется в приложении VB6.Никакие вычисления не сделаны на поле в VB6.Какой тип данных лучше использовать в VB6?

Единственное время, когда переменная используется в любой программе, выглядит следующим образом:

If variable <> 0 Then
    'Do some logic
End If

Ответы [ 3 ]

3 голосов
/ 06 декабря 2011

Вообще, строго печатать лучше, но из твоего вопроса это не имеет значения. Лично я бы сделал это десятичной дробью, потому что, если в будущем нужно будет провести расчет? Вы никогда не знаете, что будет делать следующий код с вашим кодом, поэтому всегда старайтесь сделать его максимально надежным.

2 голосов
/ 06 декабря 2011

Проще говоря, если это десятичное число, используйте десятичный тип данных, если это строковые данные, используйте строковый тип данных, если это флаг, используйте логическое значение и т. Д.

Также обратите внимание, что использование десятичного значения в качестве идентификатора является плохой идеей, поскольку компьютеры не всегда могут точно их представить (Google для неточностей с плавающей запятой).

0 голосов
/ 07 декабря 2011

Определенно используйте тип данных Decimal в .NET.

VB6 имеет тип данных Decimal, но вы не можете использовать его напрямую.Однако вы можете сделать это следующим образом:

Dim MyDecimal As Variant
MyDecimal = CDec(rs(rowIndex).Value)

То есть функция CDec преобразуется во внутренний десятичный тип, который вы можете сохранить в переменной Variant.К сожалению, вы теряете строгую типизацию, но я думаю, что это лучше, чем использование представления с плавающей запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...