Забавная нотация с #

что это означает?

if CDbl(Trim(Range("M" & r).Text)) > 0# then...

что делает #?? и что делает cdbl?

14
задан Jean-François Corbett 20 January 2014 в 08:26
поделиться

3 ответа

CDbl () преобразует выражение в Double:

Тип данных, который содержит числа с плавающей запятой двойной точности как 64-битные числа в диапазоне - От 1,79769313486231E308 до -4,94065645841247E-324 для отрицательных значений; От 4.94065645841247E-324 до 1.79769313486232E308 для положительных значений.

«#» - это «символ объявления типа» для Double. После числа с этим символом это означает, что число будет обрабатываться как двойное, а не пытаться угадать, какой именно тип переменной следует использовать. (без этого 0, вероятно, интерпретировался бы как целое)

10
ответ дан 1 December 2019 в 12:12
поделиться

CDbl преобразует содержимое в двойное значение. # Указывает, что это числовое двойное значение. VB и VBA иногда довольно снисходительны, когда вы имеете дело с числами, что может оказаться опасным!

2
ответ дан 1 December 2019 в 12:12
поделиться

Visual Basic использует знак фунта (# ) для обозначения значений двойной точности. Поэтому 0# заставляет рассматривать эту константу как тип double. CDbl преобразует выражение к типу double. * Double означает двойную точность с плавающей точкой.

3
ответ дан 1 December 2019 в 12:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: