- UID
- 3467
- 积分
- 4580
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-3-31
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
以下函数代码来自网上,并稍作修改,版权归原作者。

- [FONT=courier new]
- Function d(q)
- ybb = Round(q * 100) '将输入的数值扩大100倍,进行四舍五入
- y = Int(ybb / 100) '截取出整数部分
- j = Int(ybb / 10) - y * 10 '截取出十分位
- f = ybb - y * 100 - j * 10 '截取出百分位
- zy = Application.WorksheetFunction.Text(y, "[dbnum2]") '将整数部分转为中文大写
- zj = Application.WorksheetFunction.Text(j, "[dbnum2]") '将十分位转为中文大写
- zf = Application.WorksheetFunction.Text(f, "[dbnum2]") '将百分位转为中文大写
- d = zy & "元"
-
- If f <> 0 And j <> 0 Then
- d = d & zj & "角" & zf & "分"
- If y = 0 Then
- d = zj & "角" & zf & "分"
- End If
- End If
-
- If f = 0 And j <> 0 Then
- d = d & zj & "角"
- If y = 0 Then
- d = zj & "角"
- End If
- End If
-
- If f <> 0 And j = 0 Then
- d = d & zj & zf & "分"
- If y = 0 Then
- d = zf & "分"
- End If
- End If
-
- If f = 0 And j = 0 Then
- d = d & "整"
- End If
-
- If q = "" Or q = 0 Then
- d = "" '如没有输入任何数值为空
- End If
- End Function
- [/FONT]

- [FONT=courier new]
- Function rmbdx(value, Optional m = 1)
- '中文大写源代码,By 对面男孩、redwin
- '支持负数,支持小数点后的第三位数是否进行四舍五入处理
- '默认参数为1,即小数点后的第三位数进行四舍五入处理
- '2002-10-11--2002-10-13
- On Error Resume Next
- Dim a
- Dim jf As String '定义角分位
- Dim j '定义角位
- Dim f '定义分位
- If IsNumeric(value) = False Then '判断待转换的value是否为数值
- rmbdx = ""
- Else
- If value < 0 Then '处理正负数的情况
- a = "负"
- Else
- a = ""
- End If
- value = Abs(CCur(value))
- '当参数m不输入(默认为0)或为0时,小数点后的第三数不进行四舍五入处理
- '当参数m为1或其它数值时,小数点后的第三数进行四舍五入处理
- If m = 0 Then
- jf = Fix((value - Fix(value)) * 100)
- value = Fix(value) + jf / 100
- Else '厘位进行四舍五入实践很少用到,但还是要照顾到
- value = Application.WorksheetFunction.Round(value, 2) '-->这句是关键!只用round有bug
- jf = Round((value - Fix(value)) * 100, 0)
- End If
-
- If value = 0 Or value = "" Then '当待转换数值为0或空时,不进行转换
- rmbdx = ""
- Else
-
- strrmbdx = Application.WorksheetFunction.Text(Int(value), "[DBNum2]") & "元" '转换整数位
- If Int(value) = 0 Then
- strrmbdx = ""
- End If
-
- If Int(value) <> value Then
- If jf > 9 Then '判断小数位
- j = Left(jf, 1)
- f = Right(jf, 1)
- Else
- j = 0
- f = jf
- End If
- If j <> 0 And f <> 0 Then '角分位都有时
- jf = Application.WorksheetFunction.Text(j, "[DBNum2]") & "角" _
- & Application.WorksheetFunction.Text(f, "[DBNum2]") & "分"
- Else '处理出现零几分的情况
- If Int(value) = 0 And j = 0 And f <> 0 Then
- jf = Application.WorksheetFunction.Text(f, "[DBNum2]") & "分"
- Else
- If j = 0 Then '有分无角时
- jf = "零" & Application.WorksheetFunction.Text(f, "[DBNum2]") & "分"
- Else
- If f = 0 Then '有角无分时
- jf = Application.WorksheetFunction.Text(j, "[DBNum2]") & "角整"
- End If
- End If
- End If
- End If
-
- strrmbdx = strrmbdx & jf '组装
-
- Else
- strrmbdx = strrmbdx & "整"
- End If
-
- rmbdx = a & strrmbdx '最后成型了,各位MM满意了吧
-
- End If
-
- End If
- End Function
- [/FONT]
|
|