将数字字符串人民币转化成大写字符串人民币

将一串数字转化为中文字符串,使用 C# 将数字转换成大写人民币 (例如:用户输入2300,系统就会显示两千三百元 ) 今天在百度贴吧上看到有意思的题:用户在输入数字的时候,系统自动会将此数字转换成人民币显示,比如用户输入2300,系统就会显示两千三百元 我比较懒,一般会先百度一下什么的,有倒是有不过不太好(个人观点)http://www.cnblogs.com/dxiao/articles/1216262.html哈哈我一般对有意思的事情都比较感兴趣……嘻嘻嘻 于是我从2个小时前开 阅读详情
/*
 * 创建日期 2005-3-8
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package com.test;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class TestRMB {
      /**
       * 测试numberConvert方法
       * @param args String[]
       */
      public static void main(String[] args) {
       //这是能转换的最大的数字
        String rmb = "90909.99";
        System.out.println(numberConvert(rmb));
      }

      /**
       * 将字符串数字转化为中文。
       * @param in 数字
       * @return 中文大写
       */
      public static String numberConvert(String in) {
        StringBuffer out = new StringBuffer();
        String chn[] = {
            "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
        String end[] = {
            "", "拾", "佰", "仟", };
        String mid[] = {
            "", "万", "亿", "兆", };

        double ind = Double.parseDouble(in);
        long ind_left = (long) ind;
        long[] inte = new long[13]; //存放整数位
        int[] floa = new int[4]; //存放小数位

        /*将整数部分放入inte[]*/
        for (int i = 12; i >= 0; i--) {
          inte[i] = (long) (ind_left / (long) (Math.pow(10, i)));
          ind_left %= (long) (Math.pow(10, i));
        }
        /*象小数部分放入floa[]*/
        int index = in.indexOf('.');
        if (index != -1) {
          String str = in.substring(index + 1);
          for (int i = 0; i < str.length(); i++) {
            floa[i] = Integer.parseInt(str.substring(i, i + 1));
          }
        }
        /**如果整数位不是0,处理整数位 例子:111.1234**/
        if ( (int) ind != 0) {
          int i = 12;
          while (inte[i] == 0) { file://查找首位
            i--;
          }
          /*输出到 out */
          for (int j = i / 4; j >= 0; j--) {
            if (j == 3) { //如果 数字13位,单独处理 1兆
              out.append(chn[ (int) (inte[12])]).append(mid[3]);
              j--;
            }
            for (int k = 3; k >= 0; k--) {
              int num = 4 * j + k;
              if (inte[num] != 0) { //再不是0的位上一次添加 十百千
                out.append(chn[ (int) (inte[num])]).append(end[k]);
              }
              else {
                if (k == 0 || k == 0 && k == 1 || k == 0 && k == 1 && k == 2 ||
                    k == 0 && k == 1 && k == 2 && k == 3) {} //如果是 万亿位 的最后几位全是0 则也不输出
                else {
                  if (inte[num - 1] == 0) {} //根据后面以为是不是0判断加不加0 例子: 1003
                  else {
                    out.append(chn[0]);
                  }
                }
              }
            }
            if (! (inte[j * 4 + 0] == 0 && inte[j * 4 + 1] == 0 &&
                   inte[j * 4 + 2] == 0 && inte[j * 4 + 3] == 0)) { //如果有一段全是0 则也不输出位 例子:1000 0000 0003 不会出现 一千亿 万 零三
              out.append(mid[j]);
            }
          }
          if (out.charAt(0) == '零') { //因为最后一位没有下一位,所以是0则删去
            out.deleteCharAt(0);
          } //例子 30
        }
        /**如果整数位是0,处理整数位 ,直接加0 例子:0.1234**/
        else {
          out.append('零');
        }

        /*处理小数部分*/
        /*如果存在小数位*/
        if (index != -1) {
          out.append('点'); //处理小数位
          for (int m = 0; m <= 3; m++) {
            out.append(chn[floa[m]]);
          }
          int zero = out.length() - 1;
          while (out.charAt(zero) == '零') { //最后几位如果是0,则删除
            out.deleteCharAt(zero);
            zero--;
          }
        }
        return out.toString();
      }
    }

人民币转换(阿拉伯数字转为中文大写人民币格式) 人民币转换 1、中文大写金额数字前应标明“人民币”字样。中文大写金额数字应用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样填写。 2、中文大写金额数字到“元”为止的,在“元”之后,应写“整字,如¥532.00应写成“人民币伍佰叁拾贰元整”。在”角“和”分“后面不写”整字。 3、阿拉伯数字中间有“0”时,中文大写要写“零”字,阿拉伯数字中间连续有几个“0”... 阅读详情

相关推荐

量化策略分享之首板低开

这个量化策略的核心是选择在低位、首次涨停后次日低开的股票,开盘时买入,上午有盈利就卖出,没有就拿到尾盘在卖出;策略优点在于选择的股票在低位,风险较低,并且刚启动首板,有大资金介入,第二天能快速跑路。

qq_29301281的博客 1390

Javascript将数字转化成为货币格式字符串

这里第一个方法是用JavaScript将数字number转换为货币字符串的格式(参数:保留小数位数,货币符号,整数部分千位分隔符,小数分隔符) 这里第二个方法是用简单的正则表达式将货币字符换转换为纯净的数字字符串,之后便可以将字符串转换为数字number JavaScript Money Format(用prototype对Number进行扩展) // Extend the default Number object with a formatMoney() method: // usage: someVar.formatMoney(decimalPlaces, symbol, thous

YOLOv9改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制

这篇文章带来一个经典注意力模块的汇总,虽然有些模块已经发布很久了,但后续的注意力模块也都是在此基础之上进行改进的,对于初学者来说还是有必要去学习了解一下,以加深对模块,模型的理解。

Limiiiing的博客 2855

字符串练习 04 (将金额转换为中文大写数字

02. 在不足七位的位置补“0”01. 转换数字为中文大写数字

2301_79600015的博客 282

Java编程题:人民币转换(字符串拼接)

人民币转换 1、中文大写金额数字前应标明“人民币”字样。中文大写金额数字应用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样填写。 2、中文大写金额数字到“元”为止的,在“元”之后,应写“整字,如¥ 532.00应写成“人民币伍佰叁拾贰元整”。在”角“和”分“后面不写”整字。 3、阿拉伯数字中间有“0”时,中文大写要写“零”字,阿拉伯数字中间连续有几个“0”时,中文大写金额中间只写一个“零”字,如¥6007.14,应写成“人民币陆仟零柒元壹角肆分“。 输入描述: 输入一个do

长不大的大灰狼 1147

数字字符串转换为人民币大写,壹、贰、叁、肆、伍、陆、柒、捌、玖、拾

数字字符串转换为人民币大写,壹、贰、叁、肆、伍、陆、柒、捌、玖、拾 ''' 将数字字符串转成大写字符串 ''' a="零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾" b="拾、佰、仟" c="万、亿" han_list= a.split("、") unit_list= b.split("、") unit_list2= c.split("、") ''' 将4位数字字符串转变成汉字字符串 ''' def four_to_han(testNum): result ="" testLen

Ruyi_squad的博客 4433

【简单易懂】Java字符串应用场景:数字金额转换成大写汉字金额【金额转换】

Java字符串应用场景之一,数字金额转换成大写的汉字金额,常用于数据或转账的显示,防止数字金额过于简单而被篡改

Q20011102的博客 4956

程序员笔试题- 将人民币金额转换成大写的金额

提供两种方法: ////////////////////////////////////////////////////////////////////// //将钱数转化为大写 ////////////////////////////////////////////////////////////////////// constant string ls_bit = "万仟佰拾亿仟...

weixin_33882443的博客 280

ZJK-32智能监控装置大放异彩引领智能化潮流

ZJK-32智能监控装置采用了先进的监控技术和智能化算法,具备高清画质、实时传输、智能分析等多项功能。同时,该装置还支持远程控制和移动监控,用户可以通过手机或电脑随时查看监控画面,并进行实时操作。除了基本的监控功能外,ZJK-32智能监控装置还具备智能分析的能力。总之,ZJK-32智能监控装置以其卓越的性能和智能化的特点,引领了智能化监控的新潮流。它将为各个领域的安全监控提供有力的支持,推动智能化监控技术的发展。ZJK-32智能监控装置以其卓越的性能和智能化的特点,成为了市场上的热门选择。

T186so5910ji7771的博客 365

ZJK-10微机监控模块:智能化监控新选择

它能够帮助企业实现对设备的远程监控和集中管理,提高设备的使用效率和可靠性,降低运维成本和人力成本。同时,该模块还具备强大的故障预警和诊断功能,能够及时发现和解决潜在问题,确保设备的稳定运行。在信息化、智能化的时代背景下,微机监控模块作为现代监控系统的核心组件,正发挥着越来越重要的作用。其中,ZJK-10微机监控模块以其卓越的性能和智能化的特点,成为了市场上备受关注的新星。总之,ZJK-10微机监控模块以其卓越的性能和智能化的特点,为用户带来了全新的智能化监控体验。

T186so5910ji7771的博客 496

结婚!

7号回得北京,累死了,在家干活。回来这2天,公司也比较忙。感觉挺累得。和m已经商量好了,我这周末去zjk把户口拿上。 23去邢台领证,然后回家,看父母。后,回北京我们去深圳。 我就是要结婚得人了。 

冲锋驿站-痕迹 1081

ZJK的黑OJ(树的最大独立集)(树形DP)

ZJK的黑OJ zjk开了一家“善良OJ”。这其实是家黑OJ。亲爱的同学,请不要惊讶,古时候有黑店,现代为什么不能有黑OJ呢?每AC一道题,网站便会自动在电脑上安装一种木马。zjk通过窃取信息获取收益(如网游帐号、OI资料、和KK的照片等等)。 作为一名资深黑客,老Z某日突然发现,“善良OJ”上的木马,自己电脑上都没有。这可十分让他过意不去。老Z决定通过多A题,来丰富自己电脑的病毒库。

但行好事,莫问前程. 502

8.字符串转换整数

空格问题用trim函数进行去除,符号则是新定义一个用于判断的变量,然后判断charAt(0)这个位置的字符究竟是+ 还是 - 也有可能没有,那就默认是正的。第 2 步:"1337c0d3"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"0-1" (当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 1 步:"1337c0d3"(当前没有读入字符,因为没有前导空格)-1" (读入 "0";

qq_60650904的博客 636

金额转换(Java字符串练习)

Java字符串练习

时刻总结 1021

String的常用方法与将金额转换成大写

在使用字符串类型的时候,经常某种方法就忘了,现在整理一下,除了format那个磨磨唧唧的格式化方法。 代码: /** * 描述: * 作者: ChengShanyunduo * 创建日期: 2017-06-30 * 修改记录: */ public class StringTest { public static void main(String[] a

笨蛋一小枚 2786

Java学习笔记---字符串操作(人民币大写转换的实现)

向开始学习语言的的同学们推荐下,如果你想学习语言的某个特性,比方说数据库编程,或者网络编程,最好找一个实用的例子,然后不懂的去翻书,去查资料,这样目的性就很强了,个人感觉比对着语法书敲上面的例子效率要搞很多。 废话不多写了,说说我这个人民币大写转换的具体实现吧。 1.写了个简单的界面,这个没什么要讲的,直接贴代码了,本片博客主要讲的是算法的实现。 Panel panel1=new ...

gaofen100 282

Python 生成验证码

#5.生成验证码 # 验证码一般是包括一些随机产生的数字或符号,请实现随机生成一组6位验证码的功能。 # 每个字符可以是大写字母、小写字母或数字,有且只能是这三种类型中的一种。 源代码如下: #该列表中存储大写字母、小写字母和数字 chr_list = [str(i) for i in range(0,10)]+[chr(j) for j in range(65,91)]+[chr(k) for k in range(97,123)] #多次循环测试 for i in range(6): #该.

weixin_56319483的博客 1097

.Net中关于人民币的操作

1: /// <summary> 2: /// Rmb 的摘要说明。 3: /// </summary> 4: public class Rmb 5: { 6: /// <summary> 7: /// 转换人民币大小金额 8: ...

weixin_30251829的博客 206

数字字符串转换为人民币

数字字符串转化为人民币

weixin_44589858的博客 382

CPCA-4404印制板用硬质合金钻头.pdf

CPCA-4404印制板用硬质合金钻头.pdf

上一篇: spring+hibernate多层web开发eclipse下的开发模板
下一篇: JAVA相关基础知识
Explorerwen
博客等级 码龄23年 3粉丝 41原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值