Второй важный класс предназначен для преобразования типов. Имя класса — Con_Convert. Его экземпляр создается в начале кода страницы. Имя объекта — Convert, которое заимствует имя объекта преобразования типов .net. Этот класс в основном решает проблему преобразования типов. Непосредственное использование функции преобразования типов приведет к тому, что программа сообщит об ошибке, поскольку переменная пуста или имеет неверный формат, и эта ошибка допускается в большинстве случаев, если вы хотите преобразовать строковую переменную в. число, если переменная пуста, обычно требуется Автоматически возвращает 0.
Другая важная функция — инкапсуляция операций форматирования переменных, которые могут поддерживать единый формат вывода всего веб-сайта, например формат времени, формат валюты и т. д. При форматировании дат и валют очень легко столкнуться с ошибками из-за нулевых значений. Обычно мне приходится писать логику для предварительного определения нулевого значения, а затем форматировать переменную. После использования этого класса для преобразования типов и форматированного вывода мне не нужно беспокоиться об этих тривиальных деталях, которые могут сильно повлиять на результат. улучшить мое программистское настроение.
Были добавлены и другие функции форматирования, такие как Convert.ToPer() используется для преобразования чисел в проценты, Convert.FirstUppercase() используется для написания заглавной первой буквы... Вы можете в соответствии со своими потребностями, почувствуйте Вы можете бесплатно расширить этот класс и не забудьте поделиться им со всеми.
Некоторые базовые функции можно использовать случайно, если они написаны случайно, но при возникновении особых обстоятельств их необходимо переписать. Например, метод Convert.ToInt(), который я написал, преобразует переменные в целое число. Самая основная операция — это Проверить, есть ли это. Если нет, просто используйте Cint(). Но когда переменная выходит за пределы диапазона, вам необходимо определить, находится ли она в диапазоне Integer, поэтому я написал частный метод IsOverflowInteger(), чтобы определить, является ли значение переменной числом в определенном диапазоне, я полагаю, после такой обработки. он может в принципе справиться со всеми ситуациями.
Поэтому я думаю, что в классе Convert еще есть много существующих методов, которые необходимо улучшить. Если у вас есть более совершенные и полные функции, поделитесь ими, чтобы они могли стать самым стандартным классом обработки переменных в ASP и больше не нуждались в этом. полагайтесь на них, эти ограниченные функции в ASP.
Некоторые из наиболее важных методов перечислены ниже. Подробности см. в коде.
Тип решения:
Convert.IsInteger(ByVal Value) определяет, является ли оно целым числом, разрешены только знаки 0–9 и -.
Convert.IsInt(ByVal Value) определяет, является ли это типом int. Это похоже на следующее и не требует объяснений.
Convert.IsLng(значение ByVal)
Convert.IsDecimal(значение ByVal)
Convert.IsSng(значение ByVal)
Convert.IsDbl (значение ByVal)
Convert.IsCur(значение ByVal)
Convert.IsBln(значение ByVal)
Convert.IsDat (значение ByVal)
Convert.IsArr(значение ByVal)
Тип преобразования:
Convert.ToStr(значение ByVal)
Convert.ToInt(значение ByVal)
Convert.ToLng(значение ByVal)
Convert.ToSng(значение ByVal)
Convert.ToDbl(значение ByVal)
Convert.ToBln(значение ByVal)
Convert.ToCur(значение ByVal)
Convert.ToDat (значение ByVal)
формат:
Convert.FormatDat(ByVal Value, ByVal vStyle) форматирование даты
Convert.FormatCur(ByVal Value,ByVal vDecimal) форматирование валюты
Convert.FormatNum(ByVal Value,ByVal vDecimal) Форматирование чисел
Другое форматирование:
Convert.ToPer(значение Byval,значение Byval0) Процент, с %
Convert.FirstUppercase(ByVal value) Сделать первую букву заглавной.
Convert.SafeSql (значение ByVal) заменяет «for» в sql
Код следующий: (Я не знаю, как вставить код, и я не знаю, как работает CSDN. Когда вы нажимаете, чтобы вставить код, это <textarea>, а не стиль свертывания кода. Пожалуйста, спросите Знающие друзья, прошу совета.)
Скопируйте код кода следующим образом:
Класс Con_Convert
'******глобальное сообщение
частный я, j, значение0, значение1, значение2
Частный подкласс_инициализировать
Конец субтитра
Частный подкласс_Terminate
Конец субтитра
' ============================================== ============================
'Проверяем тип, возвращаем true/false
' ============================================== ============================
Открытая функция IsStr (значение ByVal)
IsStr=истина
Конечная функция
'****** проверка строки, если она является целым числом
Открытая функция IsInteger (значение ByVal)
если Trim(Value)= или IsNull(Value) или IsEmpty(Value), то
IsInteger=ложь
еще
ИсЦелое = Истина
value0 = Обрезать (Значение)
Для i = 1 To len(value0)
Если Asc(Mid(value0, i, 1))>= Asc(0) и Asc(Mid(value0, i, 1)) <= Asc(9) Тогда
Еще
если Asc(Mid(value0, i, 1)) = Asc(-) и i=1, то
еще
IsInteger = ложь
Выход для
конец, если
Конец, если
Следующий
конец, если
Конечная функция
'****** проверка, находится ли значение в диапазоне целых чисел
'Использовать только в этом классе
' Ценить:
' vBound: макс.
Частная функция IsOverflowInteger (значение ByVal, ByVal vBound)
если IsInteger(Value) и IsInteger(vBound), то
IsOverflowInteger = ложь
значение0 = обрезка (значение)
значение1 = обрезка (vBound)
если IsOverflowInteger=false, то
'удалить 0 слева
делать while ( left(value0,1)=0 или left(value0,1)=- )
значение0=право(значение0,len(значение0)-1)
петля
делать while ( left(value1,1)=0 или left(value1,1)=- )
значение1=право(значение1,len(значение1)-1)
петля
если len(value0)=len(value1) тогда
от i=1 до len(value0)
если Asc(mid(value0,i,1)) > Asc(mid(value1,i,1)) или Asc(mid(value0,i,1)) > Asc(9) или Asc(mid(value0,i,1)) > Asc(mid(value0,i,1)) 1)) < Asc(0) тогда
IsOverflowInteger=истина
выход для
конец, если
следующий
еще
если len(значение0)>len(значение1), то
IsOverflowInteger=истина
конец, если
конец, если
конец, если
еще
IsOverflowInteger=истина
конец, если
Конечная функция
Открытая функция IsInt (значение ByVal)
IsInt=истина
если left(trim(value),1)=- тогда
если IsOverflowInteger(trim(value),-32768), то
IsInt = ложь
конец, если
еще
если IsOverflowInteger(trim(value),32767), то
IsInt = ложь
конец, если
конец, если
конечная функция
Открытая функция IsLng (значение ByVal)
IsLng=истина
если left(trim(value),1)=- тогда
если IsOverflowInteger(trim(value),-2147483648), то
IsLng=ложь
конец, если
еще
если IsOverflowInteger(trim(value),2147483647), то
IsLng=ложь
конец, если
конец, если
Конечная функция
'******************************************
'Десятичный
'******************************************
'****** проверить строку, если она десятичная
Частная функция IsDecimal (значение ByVal)
dim intDecimalCount
intDecimalCount=0
если Trim(Value)= или IsNull(Value) или IsEmpty(Value), то
IsDecimal=ложь
еще
IsDecimal = Истина
value0 = Обрезать (Значение)
Для i = 1 To len(value0)
Если Asc(Mid(value0, i, 1))>= Asc(0) и Asc(Mid(value0, i, 1)) <= Asc(9) Тогда
Еще
выберите регистр Asc(Mid(value0, i, 1))
случай Asc(-)
если я=1 тогда
еще
IsDecimal = ложь
Выход для
конец, если
случай Asc(.)
если intDecimalCount<2, то
intDecimalCount=intDecimalCount + 1
еще
IsDecimal = ложь
Выход для
конец, если
еще случай
IsDecimal = ложь
Выход для
конец выбора
Конец, если
Следующий
конец, если
Конечная функция
'****** проверьте, находится ли значение в десятичном диапазоне
'Использовать только в этом классе
' Ценить:
'vBound:
Частная функция IsOverflowDecimal (значение ByVal, ByVal vBound)
если Trim(Value)= или IsNull(Value) или IsEmpty(Value) или Trim(vBound)= или IsNull(vBound) или IsEmpty(vBound), то
IsOverflowDecimal=истина
еще
конец, если
Конечная функция
Открытая функция IsSng (значение ByVal)
IsSng=IsDecimal(значение)
' -340282300000000000000000000000000000000 ~ -0.000000000000000000000000000000000000000000001401298
' 0.00000000000000000000000000000000000000000001401298 ~ 340282300000000000000000000000000000
' -3,402823 E38 ~ -1,401298 E-45
' 1,401298 Е-45 ~ 3,402823 Е38
Конечная функция
Открытая функция IsDbl (значение ByVal)
IsDbl=IsDecimal(значение)
' -1,79769313486232 E308 ~ -4,94065645841247 E-324
' 4.94065645841247 E-324 ~ 1.7976931348623 E308
Конечная функция
Открытая функция IsCur (значение ByVal)
IsCur=IsDecimal(значение)
'-922337203685477.5808 ~ 922337203685477.5807
Конечная функция
Открытая функция IsBln (значение ByVal)
если Значение=истина или Значение=ложь, или обрезка(Значение)=1 или обрезка(Значение)=0, то
IsBln=истина
еще
IsBln=ложь
конец, если
Конечная функция
Открытая функция IsDat (значение ByVal)
если Trim(Value)= или IsNull(Value) или IsEmpty(Value), то
IsDat=ложь
еще
IsDat=IsDate(значение)
конец, если
Конечная функция
Открытая функция IsArr (значение ByVal)
если Trim(Value)= или IsNull(Value) или IsEmpty(Value), то
IsArr=ложь
еще
IsArr=IsArray(значение)
конец, если
Конечная функция
' ============================================== ============================
'Тип преобразования, возвращаемое значение/начальное значение
' ============================================== ============================
Открытая функция ToStr (значение ByVal)
ToStr=обрезать(значение)
Конечная функция
Открытая функция ToInt (значение ByVal)
если IsInt(значение), то
ToInt=Цинт(значение)
еще
ТоИнт=0
конец, если
Конечная функция
Открытая функция ToLng (значение ByVal)
если IsLng(значение), то
ToLng=clng(значение)
еще
ТоЛнг=0
конец, если
Конечная функция
Открытая функция ToSng (значение ByVal)
если IsSng(значение), то
ToSng=cSng(значение)
еще
ТоСнг=0
конец, если
Конечная функция
Открытая функция ToDbl (значение ByVal)
если IsDbl(значение), то
ToDbl=cDbl(значение)
еще
ТоДбл=0
конец, если
Конечная функция
Открытая функция ToBln (значение ByVal)
если IsBln(значение), то
ToBln=cbool(значение)
еще
ТоБлн=ложь
конец, если
Конечная функция
'****** vDecimal : количество десятичных знаков.
Открытая функция ToCur (значение ByVal)
если IsCur(значение), то
ToCur=ccur(значение)
еще
ТоКур=0
конец, если
Конечная функция
'****** vType: формат даты
Открытая функция ToDat (значение ByVal)
если IsDat(значение), то
ToDat=cdate(значение)
еще
ТоДат=
конец, если
Конечная функция
' ============================================== ============================
'Формат
' ============================================== ============================
'********************************************** * ***
'ФорматДат
'vdate
'vStyle 0:2008-1-30 1:2008/1/30 2:1/30/2008 3:30/1/2008 4:30-ЯНВАРЬ-2008
' 10:2008-1 11:2008/1 12:1/2008
'22:ЯНВАРЯ 2008 г.
'30:2008-1-30 11:20:20
'40:2008-01-09
Открытая функция FormatDat (значение ByVal, ByVal vStyle)
dim dateThis,intStyle
dateThis=ToDat(значение)
intStyle=ToInt(vStyle)
если dateThis= или isnull(dateThis) тогда
ФорматДат =
еще
Тусклый arrMonthArray(12)
arrMonthArray(1)=ЯНВАРЬ
arrMonthArray(2)=ФЕВ
arrMonthArray(3)=МАРТ
arrMonthArray(4)=апрель
arrMonthArray(5)=МОЖЕТ
arrMonthArray(6)=ИЮНЬ
arrMonthArray(7)=ИЮЛ
arrMonthArray(8)=АВГ
arrMonthArray(9)=СЕНТЯБРЬ
arrMonthArray(10)=ОКТ
arrMonthArray(11)=НОЯБРЬ
arrMonthArray(12)=ДЕКАБРЬ
выберите регистр intStyle
случай 1
FormatDat=cstr(year(dateThis)) &/& cstr(месяц(dateThis)) &/& cstr(day(dateThis))
случай 2
FormatDat= cstr(месяц(dateThis)) &/& cstr(день(dateThis)) &/& cstr(year(dateThis))
случай 3
FormatDat= cstr(day(dateThis)) &/& cstr(месяц(dateThis)) &/& cstr(year(dateThis))
случай 4
FormatDat= cstr(day(dateThis)) &-& arrMonthArray(month(dateThis)) &-& cstr(year(dateThis))
случай 10
FormatDat=cstr(год(dateThis)) &-& cstr(месяц(dateThis))
случай 11
FormatDat=cstr(год(dateThis)) &/& cstr(месяц(dateThis))
случай 12
FormatDat = cstr(месяц(dateThis)) &/& cstr(year(dateThis))
дело 22
FormatDat = arrMonthArray(месяц(dateThis)) &-& cstr(year(dateThis))
дело 30
FormatDat= cstr(year(dateThis)) &-& cstr(месяц(dateThis)) &-& cstr(day(dateThis)) & & час(dateThis) &:& минута(dateThis) &:& секунда(dateThis)
дело 40
FormatDat=cstr(year(dateThis)) &-& ZeroPad(cstr(month(dateThis)),2) &-& ZeroPad(cstr(day(dateThis)),2)
еще случай
FormatDat=cstr(year(dateThis)) &-& cstr(месяц(dateThis)) &-& cstr(day(dateThis))
конец выбора
конец, если
Конечная функция
'******************
'FormatCur
'******************
Открытая функция FormatCur (значение ByVal, ByVal vDecimal)
FormatCur=Formatcurrency(ToCur(Значение),ToInt(vDecimal))
Конечная функция
Открытая функция FormatNum (значение ByVal, ByVal vDecimal)
FormatNum=FormatNumber(ToDbl(Значение),ToInt(vDecimal))
Конечная функция
' ============================================== ============================
'другой формат
' ============================================== ============================
Открытая функция ToPer (значение Byval, значение Byval0)
если Convert.ToDbl(value0)<>0, то
ToPer = me.FormatNum( Convert.ToDbl(значение) / Convert.ToDbl(значение0) * 100,2 ) & %
еще
ТоПер = 0,00%
конец, если
Конечная функция
'****** значение -> Первое изменение кода значения на верхний регистр
Открытая функция FirstUppercase (значение ByVal)
значение0 = обрезка (значение)
если len(value0)=0, то
Первыйверхний регистр=
еще
FirstUppercase = UCase(left(value0,1)) & right(value0,len(value0)-1)
конец, если
Конечная функция
Открытая функция SafeSql (значение ByVal)
SafeSql = replace(value,','')
Конечная функция
Конечный класс