利用VB.NET Format函数实现四舍五入功能

开发 后端
这里介绍了num:欲四舍五入的数值,n:取到小数点以下第n位,还有VB.NET Format函数实现四舍五入的功能的代码分析。

VB.NET经过长时间的发展,很多用户都很了解VB.NET了,这里我发表一下个人理解,和大家讨论讨论。在VB.NET要做到四舍五入的功能应该用VB.NET Format这个函数,用CInt或CLng都只能取到整数部分,而用VB.NET Format函数可以取到你所指定的小数位数。

副程式:

  1. PublicFunctionRound(numAsVariant,nAsLong)AsString  
  2. Round=Format(num,IIf(n>0,"0."&String(n,"0"),"0"))  
  3. EndFunction 

#T#叁数说明:num:欲四舍五入的数值。因为欲四舍五入的数值可能是Double或Single或是其它资料型态,所以这里把num宣告成Variant;如果把num宣告成Double,而欲四舍五入的数值是Single型态,就会出现资料型态不符合的错误;但是把num宣告成Variant则可避免这种错误,或是使用传值呼叫(ByVal)也可避免这种错误。其实我不确定这个观念是否正确,如果有误请来信指正,谢谢。n:取到小数点以下第n位。Round函数传回的是一个字串资料。

范例:

  1. PrivateSubCommand1_Click()  
  2. DimaAsDouble  
  3. a=1234.56789  
  4. Debug.PrintFix(a)  
  5. Debug.PrintInt(a)  
  6. Debug.PrintCInt(a)  
  7. Debug.PrintCLng(a)  
  8. Debug.PrintRound(a,0)  
  9. Debug.PrintRound(a,3)  
  10. EndSub 

执行後在VB的即时运算视窗出现以下结果:

  1. 1234  
  2. 1234  
  3. 1235  
  4. 1235  
  5. 1235  
  6. 1234.568 

Fix和Int是属於无条件舍去,但是他们两者在处理负数的部分仍有些微差异,请自行叁阅VBHelp;CInt和CLng也有四舍五入的功能,但是只能取到整数部分;Format则可以四舍五入到你所指定的小数位数。有一点值得一提的是,VB.NET Format的第二个叁数使用"0"和"#"的差异:

  1. format(123.4,".000")输出123.400  
  2. format(123.4,".###")输出123.4  

也就是说:第二个叁数使用"0"的,会自动补上多馀的0,有时候为了编排好看会希望这麽做;使用"#"的则不会自动补上0。

责任编辑:田树 来源: 博客
相关推荐

2010-06-09 11:09:06

MySQL四舍五入

2010-06-02 14:42:57

MySQL四舍五入

2021-09-29 20:56:50

MySQLMariaDB字段

2010-01-12 18:40:22

VB.NET Form

2009-11-10 13:27:30

VB.NET RND(

2010-01-12 10:48:54

VB.NET LIST

2010-01-22 15:25:46

VB.NET Time

2010-01-13 13:53:32

VB.NET组件封装

2010-01-19 10:03:35

VB.NET Labe

2009-10-20 14:09:05

VB.NET反射功能

2009-10-15 17:50:48

VB.NET Spli

2020-08-18 10:16:35

Python数据浮点数

2009-10-21 10:45:50

VB.NET Quic

2009-11-02 14:48:45

VB.NET HOOK

2009-10-21 18:19:36

VB.NET实现拖放

2010-01-22 16:39:46

VB.NET添加自动查

2022-09-16 07:24:12

Python 的四舍

2010-01-13 09:45:53

VB.NET Arra

2009-11-10 11:54:12

VB.NET按钮

2009-11-10 14:30:33

VB.NET多窗体
点赞
收藏

51CTO技术栈公众号