Иллюстрированный самоучитель по VB.NET


Математические операторы - часть 2


Лучше воспользуйтесь суффиксом @ или преобразуйте выражение (полностью или частично) к типу Decimal. Пример:

fdeg = ((CDec(9 / 5) * cdeg) + 32)

Поскольку результат деления преобразуется к типу Decimal, результат тоже относится к типу Decimal.

Остается лишь заметить, что в этом простом примере мы используем метод Write вместо Wri teLi ne, чтобы предотвратить перевод строки после вывода текста. Кроме того, в реальной программе введенные данные следовало бы предварительно проанализировать, потому что пользователи часто ошибаются при вводе.

Наконец, вещественное деление в VB .NET соответствует стандарту IEEE, поэтому вместо ошибки деления на ноль теперь происходит нечто странное. Пример:

Sub Main()

Dim getData As String

Dim x, у As Double

x = 4

У = 0

Console.WriteLine("What is 4/0 in VB .NET? " & x / y)

Console.ReadLine()

End Sub

Результат выглядит так:

What is 4/0 in VB. NET? Infinity

Результат деления 0/0 равен

NaN (Not A Number, «не является числом»).

В табл. 3.8 перечислены операторы, используемые только при делении чисел типа Integer и Long.

Таблица 3.8. Математические операторы целочисленного деления

Оператор \ игнорирует остаток от деления и возвращает результат типа Integer (если он относится к интервалу допустимых значений этого типа). Например, 7\3=21. Напомним, что оператор / дает результат типа Double; если вы хотите, чтобы частное относилось к типу Integer — воспользуйтесь оператором \ или функцией преобразования типа.

Оператор Mod дополняет оператор целочисленного деления и возвращает остаток от целочисленного деления. Например, 7 Mod 3 = 1. Если целые числа делятся без остатка, оператор Mod возвращает 0: 8 Mod 4 = 0.




- Начало -  - Назад -  - Вперед -



Книжный магазин