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