vb.net中的计算函数,vb中函数大全

用VB.NET编写一个程序 :编一求阶乘的函数f(n),主调程序求组合数的程序,分别调用f(n),用来计算组合数的值

Private Sub Command1_Click()

创新互联建站:成立与2013年为各行业开拓出企业自己的“网站建设”服务,为上千余家公司企业提供了专业的成都网站设计、成都网站制作、网页设计和网站推广服务, 定制网站制作由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。

Dim A, B, C

A = 10

B = 3

C = f(A) / (f(B) * f(A - B))

Print C

End Sub

Private Function f(n)

Dim I As Integer

f = 1

For I = 1 To n

f = f * I

Next I

End Function

在vb.net中,如何计算出2000-2100年之间的闰年?输出到文本框,并统计输出闰年的个数?主要是统计个数

这样:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim leapyears() As Integer = GetLeapYears(2000, 2100)

Dim str As String

Try

Dim count As Integer = UBound(leapyears) + 1

str = "闰年个数:" + count.ToString

For i = 0 To UBound(leapyears)

str += " " + leapyears(i).ToString

Next

TextBox1.Text = str

Catch ex As Exception 

End Try

End Sub

''' summary

''' 获取指定年份区间中所有闰年组成的数组

''' /summary

''' param name="StartYear"起始年份/param

''' param name="EndYear"结束年份/param

''' returns/returns

''' remarks/remarks

Private Function GetLeapYears(StartYear As Integer, EndYear As Integer) As Integer()

Dim leapyears() As Integer = Nothing

Dim index As Integer = 0

For i = StartYear To EndYear

If (i Mod 400 = 0) Or (i Mod 4 = 0 And i Mod 100  0) Then

ReDim Preserve leapyears(index)

leapyears(index) = i

index += 1

End If

Next

Return leapyears

End Function

扩展资料:

注意事项

DateSerial返回包含指定的年、月、日的 Variant (Date)。

语法:DateSerial(year, month, day)

Private Function MonthToLeapYear(ByVal Yea As Integer) As Boolean

MonthToLeapYear = Day(DateSerial(Yea, 2, 29)) = 29

End Function

Private Sub Command1_Click()

If Len(Text1.Text) = 4 Then

  If MonthToLeapYear(Text1.Text) = True Then

      Print Text1.Text "年是闰年"

  Else

      Print Text1.Text "年是平年"

  End If

Else

 Print "错误:请输入正确的年份!"

End If

End Sub

在VB.NET中进行日期处理时,避免手工判断或计算是个好主意,因为手工计算由于代码的质量问题可能不准确。可以使用.NET提供的类的功能进行日期处理。

例如,如果需要判断给定的某年是否闰年,可以使用VB.NET的IsLeapYear函数。下面是如何使用该函数的一个例子:

Private Sub LeapYearCheck()

Dim bLeapYear AsBoolean

bLeapYear = Date.IsLeapYear(Now.Year)

MessageBox.Show(bLeapYear)

bLeapYear = Date.IsLeapYear(2004)

MessageBox.Show(bLeapYear)

End Sub

在vb.net中,DateDiff()函数是有什么用的?又是怎么用的?

DateDiff 函数

返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。

语法

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 函数语法中有下列命名参数:

部分 描述

interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔

Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。

Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。

firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。

设置

interval 参数的设定值如下:

设置 描述

yyyy 年

q 季

m 月

y 一年的日数

d 日

w 一周的日数

ww 周

h 时

n 分钟

s 秒

firstdayofweek 参数的设定值如下:

常数 值 描述

vbUseSystem 0 使用 NLS API 设置。

vbSunday 1 星期日(缺省值)

vbMonday 2 星期一

vbTuesday 3 星期二

vbWednesday 4 星期三

vbThursday 5 星期四

vbFriday 6 星期五

vbSaturday 7 星期六

常数 值 描述

vbUseSystem 0 用 NLS API 设置。

vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。

vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。

vbFirstFullWeek 3 从第一个无跨年度的星期开始。

说明

DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。

为了计算 date1 与 date2 相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果 date1 是星期一,DateDiff 计算到 date2 为止的星期一的个数。这个数包含 date2 但不包含 date1。不过,如果 interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。由计算 date1 与 date2 之间星期日的个数而得。如果 date2 刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。

如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。

firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。

如果 date1 或 date2 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date1 或 date2 用双引号 (" ") 括起来,且年份略而不提,则在每次计算表达式 date1 或 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。

在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年份,虽然实际上只相差一天而已。

VB.net当中用数学函数math.sin出现的问题

-1.52341E-13

科学计数法,10的-13次方表示此数已经接近于0了,应该是single类型的精度导致的,你把精度设置适当应该就可以了。

VB.NET怎么位运算?

注意只能对整型执行按位运算。浮点值必须转换为整型后,才能执行按位运算。按位运算采用二进制(以 2 为基)形式计算两个整数值。它们比较对应位置上的位,然后基于比较的结果赋值。下面的示例演示了 And 运算符。复制Dim x As Integerx = 3 And 5 前面的示例将 x 的值设置为 1。发生这种情况的原因如下:这些值以二进制形式处理:二进制格式的 3 为 011二进制格式的 5 为 101And 运算符比较这些二进制表示方式,一次比较一个二进制位置(位)。如果给定位置的两个位都为 1,则将 1 放在结果中的该位置。如果任何一个位是 0,则将 0 放在结果中的该位置。在前面的示例中,按如下所示计算结果:011(二进制格式的 3)101(二进制格式的 5)001(二进制格式的计算结果)计算结果以十进制形式处理。值 001 是 1 的二进制表示形式,因此 x = 1。除了在任何一个比较位是 1 或两个比较位都是 1 的情况下将 1 赋予结果位以外,按位 Or 运算与此类似。Xor 在比较的位正好只有一个是 1(而不是两者都是 1)时将 1 赋给结果位。Not 采用单个操作数并反转所有位(包括符号位),然后将该值赋予结果。这意味着,对于有符号正数,Not 始终返回负值,而对于负数,Not 始终返回正值或零。AndAlso 和OrElse 运算符不支持按位运算。 追问: 好复杂啊...还是不会,还有整数怎么转换为二进制数? 回答: 为什么一定要用位运算呢,你那个乘法只能通过左移操作符“ ”来进行,而左移一次代表乘以2,要是乘以一个小数,就必须先化成2的n次方,不够再用加减法调整,很麻烦啊,没必要用位运算啊。。。 追问: 因为我要进行大量的运算,但速度要快,所有用位运算...我也不想啊.. 回答: 那就不该用VB 啊,c/c++在执行效率上是没话说的。 追问: 问题就是不会嘛... 回答: 那你上csdn上发帖效果应该不错 追问: CSDN发了,我发在高性能运算,没人... 回答: 耐心一些,或者你应该发到VB.NET论坛那里。。。 追问: 额..只能这样了... 提问者 的感言: 太复杂了..算了 2010-11-08


名称栏目:vb.net中的计算函数,vb中函数大全
分享路径:http://ybzwz.com/article/dsidodh.html