找回密码
 立即注册

QQ登录

只需一步,快速开始

fumasoft
金牌服务用户   /  发表于:2019-7-19 17:01  /   查看:3144  /  回复:5
web端报表设计器 有内置数字金额转中文大写的函数吗?
1、有。请说明一下使用方法。
2、无。是否可以自己写?如果可以麻烦提供一下demo。

5 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2019-7-19 18:14:09
沙发
你好,你是要进行大小写的转换吗,这是在 报表设计器里进行函数设置的,具体可以参考这个大小写转换的博客:https://www.grapecity.com.cn/blogs/converttormb
回复 使用道具 举报
504385214
初级会员   /  发表于:2019-7-24 11:55:30
板凳
包括负数
Function ConvertToRMB(ByVal inputString As String) As String
        Dim numList As String = "零壹贰叁肆伍陆柒捌玖"
        Dim rmbList As String = "分角元拾佰仟万拾佰仟亿拾佰仟万"
        Dim number As Double = 0
        Dim zfs As Double = 0
        Dim tempOutString As String = ""

        zfs = Double.Parse(inputString)
        number = Abs(zfs)
       
        Dim tempNumberString As String = Convert.ToInt64(number * 100).ToString()
        Dim tempNmberLength As Integer = tempNumberString.Length
        Dim i As Integer = 0
         
        If        zfs < 0 Then
                tempOutString = "(负)"
        End If
        number = Abs(number)
       
        While i < tempNmberLength  
                Dim oneNumber As Integer = Int32.Parse(tempNumberString.Substring(i, 1))
                Dim oneNumberChar As String = numList.Substring(oneNumber, 1)
                Dim oneNumberUnit As String = rmbList.Substring(tempNmberLength - i - 1, 1)
                If Not (oneNumberChar = "零") Then
                        tempOutString += oneNumberChar + oneNumberUnit
                Else
                        If oneNumberUnit = "亿" OrElse oneNumberUnit = "万" OrElse oneNumberUnit = "元" OrElse oneNumberUnit = "零" Then
                                While tempOutString.EndsWith("零")
                                        tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
                                End While
                        End If
                        If oneNumberUnit = "亿" OrElse (oneNumberUnit = "万" AndAlso Not tempOutString.EndsWith("亿")) OrElse oneNumberUnit = "元" Then
                                tempOutString += oneNumberUnit
                        Else
                                If Not tempOutString Is Nothing Then
                                        Dim tempEnd As Boolean = tempOutString.EndsWith("亿")
                                        Dim zeroEnd As Boolean = tempOutString.EndsWith("零")
                                        If tempOutString.Length > 1 Then
                                                Dim zeroStart As Boolean = tempOutString.Substring(tempOutString.Length - 2, 2).StartsWith("零")
                                                If Not zeroEnd AndAlso (zeroStart OrElse Not tempEnd) Then
                                                        tempOutString += oneNumberChar
                                                End If
                                        Else
                                                If Not zeroEnd AndAlso Not tempEnd Then
                                                        tempOutString += oneNumberChar
                                                End If
                                        End If
                                End If

                        End If
                End If
                i += 1

        End While
        If Not tempOutString Is Nothing Then
                While tempOutString.EndsWith("零")
                        tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
                End While
                While tempOutString.EndsWith("元")
                        tempOutString = tempOutString + "整"
                End While
                Return tempOutString
        Else
                Return ""
        End If
End Function
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2019-7-24 12:08:08
地板
你把脚本文件进行了修改然后包含了负数值是吗?
回复 使用道具 举报
fumasoft
金牌服务用户   /  发表于:2019-9-21 15:04:40
5#
请问在线报表设计器在什么位置实例化报表对象?麻烦截一下图。
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2019-9-23 09:35:05
6#
您好,新问题请发新贴。
然后你说的实例化报表,你是什么需求,你是想根据自己的需求再在线报表设计器中进行一个个对应的报表设置还是?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部