指定小数位转换 vb.net 2005

本文介绍了使用VBA进行小数格式化的多种方法,包括如何将小数转换为指定格式的字符串、四舍五入、去掉小数部分等实用技巧,并详细解释了FormatNumber函数的参数设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dim D as decimal=123.456789
‘将小数转换成2位小数的字符串,小数点后保持2位
cstr(decimal.Round(d,3))
cstr(decimal.Round(1233.455d,2))

 Dim a As String = FormatNumber(1230.4549994, 2, TriState.True, TriState.True, TriState.False)
1,230.45
1230.45

Format(douNum, ".00")

Dim i As Integer = CInt(Math.Round(12.5, 0, MidpointRounding.AwayFromZero))

用String对小数进行格式化:
    Dim i As Integer = 55551234
    Debug.Write(i.ToString("$0,000.00"))

去掉小数位:
math.Truncate(dr!编号 / 1000000)

'===============================================
FormatNumber 也可指定小数位转换

?formatnumber("1000000.50",2,TriState.False ,TriState.True,TriState.True  )
"1,000,000.50"
?formatnumber("1000000.50",2,TriState.False ,TriState.True,TriState.False  )
"1000000.50"
?formatnumber("0.50",2,TriState.True ,TriState.True  )
"0.50"
?formatnumber("0.50",2,TriState.False ,TriState.True  )
".50"
参数0.50可以是数字也可以是字符数字,
参数2表示2位小数,根据小数后3位四舍五入。

第一个TriState表示有否前导零:
?formatnumber(".50",2,TriState.True )
"0.50"
?formatnumber(".50",2,TriState.False  )
".50"
第二个TriState表示负数是否放在括号内:
?formatnumber(".50-",2,, TriState.False  )
"-0.50"
?formatnumber(".50-",2,, TriState.True  )
"(0.50)"
第三个TriState表示负数是否分组显示:
?formatnumber("1000000.50",2, ,,TriState.True  )
"1,000,000.50"
?formatnumber("1000000.50",2, ,,TriState.False  )
"1000000.50"
====================================================
只要小数点后有数字都进位:
?math.Ceiling(1.22)
2.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值