首页 > 其他分享 >fastreport 数字转大写

fastreport 数字转大写

时间:2024-09-28 17:46:02浏览次数:8  
标签:Dim FastReport 数字 大写 Replace result fastreport String

fastreport 数字转大写 在FastReport中,将数字转换为大写可以通过自定义函数实现。以下是一个简单的FastReport自定义函数示例,用于将数字转换为大写金额(仅支持到亿位)

Function NumToCapital(ByVal value As Double) As String
    Dim digits() As String = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}
    Dim units() As String = {"分", "角", "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿"}
    Dim strValue As String = CStr(Math.Round(value, 2))
    Dim result As String = ""
    Dim n As Integer
    For i As Integer = 0 To strValue.Length - 1
        n = Convert.ToInt32(strValue(i))
        If i = 0 AndAlso n = 0 Then
            Continue For
        End If
        result &= digits(n) & units(strValue.Length - i - 1)
        If i = 1 AndAlso n = 0 AndAlso (Not (result.EndsWith(units(0)) OrElse result.EndsWith(units(1)))) Then
            result &= "零"
        End If
    Next
    result = result.Replace("零分", "零")
    result = result.Replace("零角", "零")
    result = result.Replace("零元", "元")
    result = result.Replace("零佰", "零")
    result = result.Replace("零仟", "零")
    result = result.Replace("零亿", "亿")
    result = result.Replace("零万", "万")
    result = result.Replace("零拾", "零")
    result = result.Replace("零佰", "零")
    result = result.Replace("零仟", "零")
    result = result.TrimEnd("零".ToCharArray())
    Return result
End Function

要在FastReport报表中使用这个函数,请按照以下步骤操作:

  1. 打开FastReport报表设计器。

  2. 在报表设计器中,选择要插入此功能的报表对象(文本对象、表格单元格等)。

  3. 在属性窗口中,找到“表达式”属性,并选择要应用此功能的属性。

  4. 输入表达式 NumToCapital(<数值表达式>),将数值表达式替换为您要转换的实际数值。

例如,如果您要将数据库中的一个字段显示为大写金额,可以这样写:NumToCapital([数值字段])

请注意,这个函数仅支持转换到亿位的数值,如果需要更大的数值,您可能需要扩展这个函数以支持更多的数字单位。

标签:Dim,FastReport,数字,大写,Replace,result,fastreport,String
From: https://www.cnblogs.com/jijm123/p/18438205

相关文章

  • FastReport报表设计(仔细看)
    FastReport报表设计  2011-06-1616:56:19|  分类: 系统开发|举报|字号 订阅        下载LOFTER我的照片书  |  目录5.1前言5.2基本概念及操作5.3报表设计与范例5.4常用功能及函数5.5报表设计常用技巧5.1前言汽车业务管理系......
  • Delphi FastReport报表常用方法
    1.       单据中有多行数据,但预览时只显示部分内容,或者打印内容行与行之间有间隔FASTREPOR属性中:设置RowCount=0,StartNewPage为False;Stretched为True.说明: RowCount:控制总共打印几行;RowCount=0是打印全部;StartNewPage:打印前先跳页;每页打印一行;Stretch:表身自动......
  • Delphi fastreport 加天数
    Delphifastreport加天数在Delphi中使用FastReport加天数可以通过在报告脚本中使用TfrxExpressionFunction.Create来创建一个自定义函数,或者直接在报告脚本中使用现有的日期函数。以下是一个在FastReport脚本中添加天数的例子:varAddedDate:TDateTime;begin//......
  • 旅游项目管理软件10软件,助力行业数字化转型
    市面上主流的10款旅游项目管理系统推荐:PingCode、Worktile、Trello、Asana、Basecamp、Monday.com、Smartsheet、Wrike、旅管家、Travelog。在旅游行业中,项目管理的复杂性常常让人感到不知所措,特别是面对多方协调、行程安排和预算控制时。这些挑战不仅影响团队效率,还可能导致......
  • 【全新Facefusion3.0】AI换脸+表情驱动+数字人,本地部署整合包
    FaceFusion3.0,号称“下一代换脸器和增强器”,是由Roop项目的核心开发者独立发布的一款功能强大的人脸转换和增强工具。全新的FaceFusion3.0版本,支持AI视频/图片换脸、直播换脸、数字人、表情修复、年龄修改等功能,效果更自然、逼真。具备高度真实感、快速运行等特点,能短时间内,......
  • 物联网系统中基于IIC通信的数字温度传感器测温方案
    01物联网系统中为什么要使用数字式温度传感器芯片物联网系统中使用数字式温度传感器芯片的原因主要有以下几点:高精度与稳定性高精度测量:数字式温度传感器芯片,如DS18B20,采用芯片集成技术,能够有效抑制外界不同程度的干扰,从而提供高精度的温度测量。这对于物联网系统来说至关......
  • 数字孪生赋能BMS:开启电池管理新纪元
    这几天,全世界的媒体几乎都在报道黎巴嫩爆炸案。原本此类地缘冲突的影响力是较为有限的,但是这次的事件不太一样:这次爆炸的,是几千个传呼机。 这一事件迅速引发了全球范围内对于电子设备安全性的广泛关注:随着社会日益依赖各种高科技产品,从日常通信到交通出行,人们开始重新评估这......
  • 沃通SSL证书上线政采云多省区电子卖场,助力政府数字化采购
    近年来,沃通CA已入驻政采云平台浙江、吉林、湖南、云南、广西、新疆、新疆生产建设兵团等多省区电子卖场,沃通WoTrus官方旗舰店在各省区共计上架沃通SSL证书、国密SSL证书等产品规格三十余个,为各省区SSL证书政府采购客户,提供多样化的产品供应以及便捷的采购流程。为了推动政企采购流......
  • P2090 数字对
    P2090数字对不是,这不是黄题吗,鉴定为我太菜了考虑这东西长得像辗转相除法。最终结果一定是\((n,B)\)这样子的。那么它一定是由\((n-B,B)\)转移过来。对于\((a,b)\)如果\(a>b\)它会变成\((a-b,b)\),否则是\((a,b-a)\)。于是也许我们可以枚举\(B\),把\(a-b\)这个操作......
  • 西门子:觅最佳的生态伙伴,筑最好的数字平台|商业创新同行者
    沧海桑田,时光变幻。纵观全球,历经百年仍能保持基业长青的公司少之又少,而像西门子这样依旧矗立在顶峰的企业可谓凤毛麟角,成功的数字化转型更是为这家企业带来了持续不断的澎湃活力。作为当代数字化时代的创新经济模式,平台经济正在深刻变革全球商业生态,引领全球经济向数字化、智能化、......