T214分享工具类:人民币的转换

Grok 4.1中文可用指南:镜像站原理与安全接入实践 大语言模型(LLM)的本地化访问是当前开发者与企业用户的核心需求之一。Grok 4.1作为xAI推出的高性能推理模型,其架构依赖HTTP/3、WebSocket长连接与实时数据接入等关键技术,但原生服务受制于支付壁垒与网络可达性问题。因此,合规镜像站并非简单页面克隆,而是融合协议降级、Token续签、心跳保活与语义重写的中间件系统。它在保障X平台实时数据调用能力的同时,需满足TLS 1.3加密、WebSocket连通性及robots.txt合规等工程底线。适用于国内技术团队快速集成AI能力、教育机构构建可控 阅读详情

package com.zking.ssh.pojo;

public class Tm {

    /**
     * 从命令行接收一个数,在其中调用 checkNum() 方法对其进行 验证,并返回相应的值
     * @return 如果输入合法,返回输入的这个数
     */
    private String getNum() {
        String s = null;
        System.out.println("请输入金额:");
        // 从命令行输入这个浮点数
        java.util.Scanner scanner = new java.util.Scanner(System.in);
        s = scanner.next();
        // 关闭这个Scanner
        scanner.close();
        // 判断用户输入是否合法
        // 若合法,返回这个值;若非法返回 "0"
        if (this.checkNum(s)) {// 在这调用chenckum()方法
            return s;
        } else {
            return "";
        }
    }

    /**
     * 判断用户输入的数据是否合法,用户只能输入大于零的数字,不能输入其它字符
     * 
     * @param s String
     * @return 如果用户输入数据合法,返回 true,否则返回 false
     */

    // 检查输入的数据是否正确
    private boolean checkNum(String s) {
        // 如果用户输入的数里有非数字字符,则视为非法数据,返回 false
        try {
            float f = Float.valueOf(s);
            // 如果这个数小于零则视为非法数据,返回 false
            if (f < 0) {
                System.out.println("非法数据,请检查!");
                return false;
            } else {
                return true;
            }
        } catch (NumberFormatException e) {
            System.out.println("非法数据,请检查!");
            return false;
        }
    }

    /**
     * 把用户输入的数以小数点为界分割开来,并调用 numFormat() 方法 进行相应的中文金额大写形式的转换 注:传入的这个数应该是经过
     * roundString() 方法进行了四舍五入操作的
     * 
     * @param s String
     * @return 转换好的中文金额大写形式的字符串
     */
    private String splitNum(String s) {
        // 如果传入的是空串则继续返回空串
        if ("".equals(s)) {
            return "";
        }
        // 以小数点为界分割这个字符串
        int index = s.indexOf(".");// 判断整数部分的个数

        // 截取并转换这个数的整数部分
        String intOnly = s.substring(0, index);// 取小数点前面的数
        String part1 = this.numFormat(1, intOnly);// 把取得的数转换为中文
        // 截取并转换这个数的小数部分
        String smallOnly = s.substring(index + 1);
        String part2 = this.numFormat(2, smallOnly);
        // 把转换好了的整数部分和小数部分重新拼凑一个新的字符串
        String newS = part1 + part2;
        // System.out.println(newS);
        return newS;
    }

    /**
     * 对传入的数进行四舍五入操作
     * 
     * @param s String 从命令行输入的那个数
     * @return 四舍五入后的新值
     */
    private String roundString(String s) {
        // 如果传入的是空串则继续返回空串
        if ("".equals(s)) {
            return "";
        }
        // 将这个数转换成 double 类型,并对其进行四舍五入操作
        double d = Double.parseDouble(s);
        // 此操作作用在小数点后两位上
        // 将 d 进行格式化
        s = new java.text.DecimalFormat("##0.00").format(d);// ##0.00表示保留位数的格式

        // 以小数点为界分割这个字符串
        int index = s.indexOf(".");
        // 这个数的整数部分
        String intOnly = s.substring(0, index);
        // 规定数值的最大长度只能到万亿单位,否则返回 "0"
        if (intOnly.length() > 13) {
            System.out.println("输入数据过大!(整数部分最多13位!)");
            return "";
        }
        // 这个数的小数部分
        String smallOnly = s.substring(index + 1);
        // 如果小数部分大于两位,只截取小数点后两位
        if (smallOnly.length() > 2) {
            String roundSmall = smallOnly.substring(0, 2);
            // 把整数部分和新截取的小数部分重新拼凑这个字符串
            s = intOnly + "." + roundSmall;
        }
        return s;
    }

    /**
     * 把传入的数转换为中文金额大写形式
     * 
     * @param flag int 标志位,1 表示转换整数部分,0 表示转换小数部分
     * @param s String 要转换的字符串
     * @return 转换好的带单位的中文金额大写形式
     */
    private String numFormat(int flag, String s) {

        int sLength = s.length();
        // 货币大写形式
        String bigLetter[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
        // 货币单位
        String unit[] = { "元", "拾", "佰", "仟", "万",
                // 拾万位到仟万位
                "拾", "佰", "仟",
                // 亿位到万亿位
                "亿", "拾", "佰", "仟", "万" };
        String small[] = { "分", "角" };
        // 用来存放转换后的新字符串
        String newS = "";
        // 逐位替换为中文大写形式
        for (int i = 0; i < sLength; i++) {
            if (flag == 1) {
                // 转换整数部分为中文大写形式(带单位)
                newS = newS + bigLetter[s.charAt(i) - 48] + unit[sLength - i - 1];
                // System.out.println(char("零"));
            } else if (flag == 2) {
                // 转换小数部分(带单位)
                newS = newS + bigLetter[s.charAt(i) - 48] + small[sLength - i - 1];
            }
        }
        return newS;
    }

    /**
     * 把已经转换好的中文金额大写形式加以改进,清理这个字 符串里面多余的零,让这个字符串变得更加可观 注:传入的这个数应该是经过 splitNum()
     * 方法进行处理,这个字 符串应该已经是用中文金额大写形式表示的
     * 
     * @param s String 已经转换好的字符串
     * @return 改进后的字符串
     */
    private String cleanZero(String s) {
        // 如果传入的是空串则继续返回空串
        if ("".equals(s)) {
            return "";
        }
        // 如果用户开始输入了很多 0 去掉字符串前面多余的'零',使其看上去更符合习惯
        while (s.charAt(0) == '零') {
            // 将字符串中的 "零" 和它对应的单位去掉
            s = s.substring(2);
            // 如果用户当初输入的时候只输入了 0,则只返回一个 "零"
            if (s.length() == 0) {
                return "零";
            }
        }
        // 字符串中存在多个'零'在一起的时候只读出一个'零',并省略多余的单位
        /* 用4个正则表达式去转换了, */
        String regex1[] = { "零仟", "零佰", "零拾" };
        String regex2[] = { "零亿", "零万", "零元" };
        String regex3[] = { "亿", "万", "元" };
        String regex4[] = { "零角", "零分" };
        // 第一轮转换把 "零仟", 零佰","零拾"等字符串替换成一个"零"
        for (int i = 0; i < 3; i++) {
            s = s.replaceAll(regex1[i], "零");
        }
        // 第二轮转换考虑 "零亿","零万","零元"等情况
        // "亿","万","元"这些单位有些情况是不能省的,需要保留下来
        for (int i = 0; i < 3; i++) {
            // 当第一轮转换过后有可能有很多个零叠在一起
            // 要把很多个重复的零变成一个零
            s = s.replaceAll("零零零", "零");
            s = s.replaceAll("零零", "零");
            s = s.replaceAll(regex2[i], regex3[i]);
        }
        // 第三轮转换把"零角","零分"字符串省略
        for (int i = 0; i < 2; i++) {
            s = s.replaceAll(regex4[i], "");
        }
        // 当"万"到"亿"之间全部是"零"的时候,忽略"亿万"单位,只保留一个"亿"
        s = s.replaceAll("亿万", "亿");
        return s;
    }

    // 最后输出的方法
    public static void main(String[] args) {
        Tm t2r = new Tm();
        String s = t2r.cleanZero(t2r.splitNum(t2r.roundString(t2r.getNum())));
        if (!"".equals(s)) {
            System.out.println("转换后金额:" + s);
            ;
        }

    }
}
 

【财务领域】第五十五篇 企业金融运作、账务操作及运作、会计操作及运作、税务操作和运作、资本运作、账期管理01 编号类型领域行业企业性质企业类型问题账款和账务和税-利润管理的数学方程式列表及参数列表及参数的数值范围关联知识和法律法规和行业标准规定1财务管理账款管理通用通用通用应收账款周转率计算方程式:应收账款周转率 = 赊销收入净额 / 平均应收账款余额 参数:赊销收入净额(≥0,单位万元),平均应收账款余额(≥0,单位万元) 数值范围:周转率通常介于3~30之间,视行业而定《企业会计准则第14号——收入》;《企业财务通则》2财务管理账务处理通用通用通用流动比率计算方程式:流动比率 = 流动资产 / 流动 阅读详情

相关推荐

【信息科学与工程学】【通信工程】第二百四十篇 IPv4/IPv6 功能点、特性和算法及 IPv4→IPv6 迁移特性02

说明:按「纯数学 → 数学物理 → 多物理场 → 界面/表面科学耦合 + 数学化学 + 运动科学(0.01 nm → μm → mm → cm 精度及超长运动)」纵向穿透,每一行给出,最后挂。

weixin_49199313的博客 511

“人民币数字大写转换”程序的黑盒测试

人民币数字大写转换”程序的黑盒测试实验

m0_51786204的博客 726

java美元兑人民币汇率的工具类

人民币兑美元汇率的java工具类,人民币兑美元汇率的java工具类人民币兑美元汇率的java工具类

java实时获取汇率

分享三个觉得挺不错的汇率api

BAStriver的博客 8988

C++实现人民币大小写转换

将阿拉伯数字复制粘贴或输入到“输入小写数字金额”中,比如(123456),然后单击“转换为大写金额”按钮。就会在“显示中文大写金额”框中显示自动转换完成的中文大写内容...

人民币转换成美元直接输入人们币即可转换成美元

可将人民币转换成美元,直接输入人们币,点击转换,即可转换成美元

测试设计与黑盒测试方法(五)

测试设计:是将概括的测试目标转化为具体的测试条件和测试用例的一系列活动。 测试分析和设计的主要任务 评审测试依据:需求,系统架构,设计和接口说明 评估测试依据和测试对象的可靠性 确定优先级:测试项、规格说明、测试对象行为和结构的分析 设计测试用例,确定优先级 确定测试条件和测试用例所需的必要的测试数据 测试用例:是通过使用在测试计划中确定的测试技术,对已确定的测试条件进行逐步推敲,设计出来如何具体操作产生何种结果的文档。(指引我们测试的步骤文档) 特征:可重复性、可验证性、需求可追踪性 测试用例设计

脸滚键盘 1503

汇率同步,实现主要国际货币的汇率数据

汇率同步,可以实时获取国际主要币种的汇率,提供数据解析等功能

求java用人民币来转换美元,NJUPT JAVA语言 综合图形界面程序设计

一、实验目的和要求学习和理解JAVASWING中的容器,部件,布局管理器和部件事件处理方法。通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。实验内容:设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。附:程序使用的人民币外汇牌价参考每100元美元等值买入人民币数:619.72(2015/5/23数据)二、实验代码package...

weixin_42098892的博客 1022

字母大小写转换工具和人民币大小写转换工具

字母大小写转换工具和人民币大小写转换工具,字母大小写转换工具和人民币大小写转换工具,字母大小写转换工具和人民币大小写转换工具。

java汇率转换

JAVA代码能实现多种货币转换,有抛出异常,图形界面

Java货币计算工具类

Java货币计算工具类这是我们之前项目上用到的货币计算的工具类,今天整理出来,希望对大家有所帮助。 github地址:CurrencyUtils package com.sparrow.utils;import java.math.BigDecimal; import java.math.RoundingMode; import java.util.HashMap; import java.util

woshimingxing的博客 3992

二手分析仪器改造实战:如何用PMT搭建荧光检测电路(附完整电路图)

本文详细介绍了如何利用二手分析仪器中的光电倍增管(PMT)核心部件,进行荧光检测电路的实战改造。内容涵盖从PMT工作原理理解、高压供电电路设计、低噪声前置放大(跨阻放大器)到信号调理的完整流程,并提供了关键电路图与调试排错指南,旨在帮助电子爱好者与工程师低成本构建稳定、高灵敏度的专业检测系统。

weixin_29234239的博客 441

HarmonyOS 6 ArkUI - 枚举常量数组数据源管理,把标签选项、时间选项抽离全局常量数组便于统一维护

引言在移动互联网与消费升级深度融合的时代浪潮中,精品咖啡已经从一种饮品演变为一种生活方式和文化符号,而移动应用作为连接咖啡品牌与消费者的核心纽带,其技术实现的质量直接决定了用户体验的深度与广度。HarmonyOS 6.1.1 作为华为鸿蒙操作系统的重要版本迭代,在系统底层渲染管线、内存调度策略以及 ArkTS 编译器优化方面均实现了显著提升,为开发者构建高品质的移动消费类应用提供了坚实的运行时基础。基于 HarmonyOS API 24 的应用开发能力,开发者可以充分利用系统级声明式 UI 框架所提供的丰富

2401_89578244的博客 238

手把手教你用STM32F103的IO口模拟XY2-100协议驱动数字振镜(附Keil O3优化代码)

本文详细介绍了如何使用STM32F103的IO口模拟XY2-100协议驱动数字振镜,包括协议解析、偶校验算法、寄存器级优化及Keil O3编译下的性能调优。通过硬件配置、核心代码实现和优化技巧,帮助开发者实现高速二维偏转控制,适用于工业激光雕刻和精密定位系统。

weixin_42527401的博客 261

高通QCS2290 SecureBoot全流程实战:从密钥生成到NON-HLOS.bin生成

本文详细拆解了高通QCS2290平台SecureBoot安全启动技术的端到端实战流程。从开发环境搭建、RSA密钥对生成与证书链构建,到关键XML配置文件修改、固件编译与数字签名,最终完成NON-HLOS.bin集成打包,为嵌入式开发者提供了一份清晰、可操作的安全启动部署指南。

weixin_28273593的博客 299

HarmonyOS 6 ArkUI‑CustomDialog 自定义弹窗组件弹窗实例多次创建内存泄漏规避方案详解

鸿蒙操作系统的应用开发框架提供了基于 TypeScript 扩展的 ArkTS 语言,它采用声明式 UI 编程范式,开发者只需描述界面的结构和状态,框架便会自动处理界面与数据之间的绑定关系。这种范式与传统的命令式编程截然不同,它将界面的渲染逻辑抽象为状态的函数——当状态发生变化时,框架自动重新调用 build 方法,生成新的虚拟组件树,并通过高效的 Diff 算法将变化最小化地应用到真实界面上。本项目是一个名为"循环家市集"的二手家具交易平台,涵盖了二手家具交易、免费捡漏、以旧换新回收、家具维修翻新、可持续

wilbur1688的博客 207

【ACP】2025-最新-疑难题解析-1

即用户手动释放时,因实例释放保护开启,不会释放该 ECS 实例(不同云厂商具体实现有差异,但题目场景下选 C )。结合题目中标记,答案为。综上,答案选 B。综上,答案选 C。综上,答案选 D。综上,答案选 A。综上,答案选 A。综上,答案选 C。综上,答案选 D。综上,答案选 A。

jundao1997的专栏 365

java实时汇率的接口_基于JAVA的汇率换算接口调用代码实例

基于JAVA的汇率换算接口调用代码实例import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodi...

weixin_31885729的博客 952

AI原生应用API编排:如何实现高效的权限管理?

随着GPT-4、Claude 3等大模型的普及,AI原生应用(从设计之初就以AI为核心的应用)正从“概念”走向“落地”。依赖大量外部API的协同工作(如用户身份API→大模型生成API→支付API→存储API)。但随之而来的挑战是:如何在复杂的API调用链中,确保每个环节的权限合规?本文将聚焦这一问题,覆盖API编排的基础逻辑、权限管理的核心机制(如RBAC/ABAC)、实战工具链(如OPA策略引擎),以及常见场景的解决方案。本文将按照“场景引入→核心概念→原理拆解→实战演练→趋势展望”的逻辑展开。

大数据洞察的博客 452

ubuntu-25.04-desktop-amd64 工具VMware-tools 正确安装方法

摘要:Ubuntu 25.04虚拟机安装VMware Tools后无法实现主机与虚拟机间的文件复制粘贴和拖拽功能,问题可能源于工具兼容性。建议优先安装open-vm-tools套件(含open-vm-tools-desktop),而非官方VMware Tools。具体方案:通过终端执行安装命令后重启系统。该方法已实测有效解决该兼容性问题。(149字)

安徽锐锋科技-沐雨潇竹 672

java实验——中文大写金额

声明RMB人民币类如下,实现其中的成员方法 题目分析:最重要的是考虑如何转换整数金额。首先找到小数点的位置,将金额分为小数和整数部分分别处理。对于整数部分按亿,万,千四位一分进行处理。目前转换范围还存在一定局限,还需继续改进。 代码给出详细注释: import java.util.Scanner; import java.text.DecimalFormat; //科学计数法的转换 public class RMB { static char[] ZhenShuDanWei = {'元', '拾'

weixin_45816550的博客 2471

Python爬虫实战:抓取统计数据并生成年度对比图表详解

国家统计局网站(静态HTML页面Excel文件JSON接口(部分新版API)我们将重点演示从统计公报页面抓取数据,结合解析Excel文件,实现多种数据格式爬取处理。本文从零开始搭建了一个爬取国家统计数据并制作年度对比图表的完整流程。读者可以根据实际需求调整爬取目标,丰富数据分析维度,甚至结合机器学习模型预测未来趋势。欢迎你在评论区留言分享你的爬虫实践,或提出改进建议!

2201_76125261的博客 1001

人民币转换

题目描述 考试题目和要点: 1、中文大写金额数字前应标明“人民币”字样。中文大写金额数字应用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样填写。(30分)  2、中文大写金额数字到“元”为止的,在“元”之后,应写“整字,如¥ 532.00应写成“人民币伍佰叁拾贰元整”。在”角“和”分“后面不写”整字。(30分)  3、阿拉伯数字中间有“0”时,中文大写要写...

zrh_优快云的博客 860

深度学习在传感器数据分析中的创新应用

传感器是物理世界与数字世界的“接口”,其生成的高维、时序、多源数据蕴含着设备状态、环境变化、用户行为等关键信息。传统传感器数据分析依赖手工特征工程与简单机器学习模型,难以应对复杂场景下的非线性、长程依赖与实时性需求。深度学习通过自动特征提取非线性建模与端到端学习,成为传感器数据处理的革命性工具。本文从概念基础理论框架架构设计实现机制到实际应用,系统拆解深度学习与传感器数据的融合逻辑,结合工业预测维护医疗健康监测智能交通等场景,揭示其技术边界与未来演化方向。

大数据洞察的博客 568

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 程序员如何在面试中介绍自己的项目经验
下一篇: T202分享:手机短信验证码服务
穆酃
博客等级 码龄19年 126粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值