数字转换为大写金额

人民币大写金额转换为数字 目前网上大多都是数字转换为人民币大写金额,现编写人民币大写转换为数字的方法,JS代码 阅读详情

/**
  * 将x转换为大写金额形式
  *
  * @param x
  */
 public static String fun(String x) {
  StringBuffer sb = new StringBuffer();
  //判断是否有小数点
  int point = x.indexOf(".");
  int nLen = x.length();
  //截取小数点前的位数
  if (point != -1) {
   nLen = point;
  }
  //支持数字到千亿,即12位整数+“."+X角Y分
  char[] units = { '仟', '佰', '拾', '亿',
    '仟', '佰', '拾', '万',
    '仟', '佰', '拾',
    '元', '角', '分' };
  char[] digits = { '零', '壹', '贰', '叁', '肆',
    '伍', '陆', '柒', '捌', '玖' };
  int len = units.length;
  //处理小数点前的数字
  for (int i = 0; i < nLen; i++) {
   int d = x.charAt(i) - '0';
   sb.append(digits[d]);
   int index = len - 2 - nLen + i;
   sb.append(units[index]);
  }
  //转换“角,分”
  if (nLen < x.length()) {
   int jIndex=x.charAt(nLen + 1) - '0';
   if(jIndex!=0)
   {
    sb.append(digits[jIndex]);
    sb.append(units[len - 2]);
   }
   int fIndex=x.charAt(nLen + 2) - '0';
   if(fIndex!=0)
   {
    sb.append(digits[fIndex]);
    sb.append(units[len - 1]);
   }
   
  }else
   sb.append("整");

  boolean yes=true;
  //循环去掉多余的零
  while(yes){
   yes=false;
   
   int i1 = sb.indexOf("零仟");

   if (i1 != -1) {
    sb.deleteCharAt(i1 + 1);
    yes=true;

   }
   int i2 = sb.indexOf("零佰");
   if (i2 != -1)
    {
     sb.deleteCharAt(i2 + 1);
     yes=true;
    }

   int i3 = sb.indexOf("零拾");
   if (i3 != -1)
    {
     sb.deleteCharAt(i3 + 1);
     yes=true;
    }

   int zz = sb.indexOf("零零");
   if (zz != -1)
    {
    sb.deleteCharAt(zz);
    yes=true;
    }
   int lyi=sb.indexOf("零亿");
   if(lyi!=-1)
    {
    sb.deleteCharAt(lyi);
    yes=true;
    }
   int lw = sb.indexOf("零万");
   
   if(lw!=-1)
    {
    sb.deleteCharAt(lw);
    yes=true;
    }
   int ly = sb.indexOf("零元");
   if(ly!=-1)
   {
    sb.deleteCharAt(ly);
    yes=true;
   }
   int y=sb.indexOf("亿");
   if(y==0)
    sb.deleteCharAt(y);
   int w=sb.indexOf("万");
   if(w==0)
    sb.deleteCharAt(w);
  }
  
  return sb.toString();
 }

将数字转换为中文金额大写 中文金额通常是用大写数字,比如零、壹、贰这些,然后还有单位,比如元、角、分,还有万、亿这些大单位。另外,中间有零的情况需要处理,比如1001元应该写作壹仟零壹元整,而不是多个零连在一起。 阅读详情

相关推荐

java实现金额数字转换为中文大写

import java.io.*; import java.lang.IllegalArgumentException; public class ConvertNum{ /** * 把金额阿拉伯数字转换为汉字表示,小数点后四舍五入保留两位 * 还有一种方法可以在转换的过程中不考虑连续0的情况,然后对最终的结果进行一次遍历合并连续的零 */ public static

cfan0801的专栏 6181

用java代码将阿拉伯数字金额转换成中文大写

思路:首先,利用String的特性,将金额分成整数部分和小数部分,进行分开处理,然后再用if条件进行判断,具体代码如下:public class getChineseMoney(){ public static void main(String srgs[]){ System.out.println("转换之前的金额为:1824512.54"); System

genaro26的博客 2182

Word 用 VBA 函数将数字转换为大写金额

'自定义函数 NTDX 将数字金额转换为财务要求的大写金额(NTDX:Number To DaXie) Public Function NTDX(A As Variant) Set Excel = CreateObject("excel.Application") '在 Word 中引用 Excel 程序, 然后可使用 Excel 程序中的工作表函数 If A = "" Or No...

モンキールフィ 5111

将数字金额转换为对应的中文大写金额

一个小问题,将指定的数字金额转换输出为对应的中文大写金额,比如:对于数字金额123,输出:壹佰贰拾叁圆 讨论之前,我们约定,数字最大不超过9999999999999.99,且最多只有两位小数。 问题不难,主要需考虑以下几点: 阿拉伯数字转换为对应的中文大写,比如,对于阿拉伯数字1,对应输出壹 每个位置的数字后紧跟正确的单位,比如对于从右向左的第三位(不包含小数点),如果当...

helloworld的专栏 4929

嵌入式:简单的service框架

在嵌入式中,我们获取一个资源、设置一个变量、更新数据的话最直接的方式就是直接调用一个函数。这样的写法也可以满足基本的功能,前提是这个系统是只要一个任务,只有一个while(1)如图1.1。图1.1当有两个或者两个以上的任务的时候,同时调用一个函数(设置一个状态值、操作同一个资源、操作指针等行为)的流程如图1.2。图1.2当两个任务同时操作一个资源的时候,就会有重入的问题,会导致想不到的异常问题(数据不对、指针异常等)。

stupid的博客 986

树莓派与ROS2

树莓派与ROS2(Robot Operating System 2)的结合使用为机器人开发、自动化控制以及物联网项目提供了强大的平台。

weixin_47695827的博客 1756

java基础 数据类型转换

/** *展示数据类型转换 *@author first *@version 1.0 */ public class VariableTest{ public static void main(String[] args){ //开始程序 int i=666; double d; /* 这是自动类型转换,没有指定将int转换位double*/ d=i; System.out.println(“转换...

不负青春、不负卿 165

Ubuntu20.04复现instant-ngp,自建数据集,导出mesh

本次仅仅记录一下自己复现instant-ngp的过程,如果里面的参考有冒犯到原博主请联系我删除,本人也是nerf的小白一枚,可以一起交流学习神经辐射场,希望大家在复现instant-ngp的时候少走一些坑,情况允许下可以去复现一下npg-pl和nerfStudio,最后希望大家一起进步。看到一些博主说葵司的npg_pl也不错,而且葵司是台湾人,在youtube上也有讲解的视频。渲染的效果还是可以的,相对于源码来说还是有点模糊,我一些参数也没有设置,直接就拉进来进行渲染,速度是非常快的。

weixin_59961223的博客 9452

在 Word 中插入域代码并设置域代码的格式(转)

Microsoft Office Word 中的域用作文档中可能会改变的数据的占位符,并用于在邮件合并文档中创建套用信函和标签。这些种类的域也称为域代码,它们不同于那些用于输入信息的域类型,如在表单上。有关向文档中添加表单域的信息,请参阅创建打印表单、创建用户在 Word 中填写的表单或在 Word 中制作核对清单 使用特定命令时(如插入页码时、插入封面等文档构建基块时或创建目录时),...

内事问度娘,外事问谷歌! 2万+

Centos7安装NVIDIA驱动并在docker容器中使用GPU

Centos7安装NVIDIA驱动并在docker容器中使用GPU

运维giao的博客 2085

STM32F103C8T6通过ESP8266连接阿里云物联网平台(附代码)

STM32F103C8T6连接阿里云物联网平台(1)—阿里云lot Studio控制 Web开发 分享一下自己使用stm32f103c8t6通过ESP_01模块连接阿里云物联网平台,实现温湿度上传和控制命令下达的过程,能力有限,用的是最简单的方法,如有错误,多多担待。 一、硬件选型 1、 stm32f103c8t6 2、ESP_01 wifi模块 3、其他 二、硬件连接 WSP_01 STM32F103C8T6 RXD PA2 TXD PA3 RES PA4 VCC 3.3

weixin_A13253323604 3万+

Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换。

学习王晓华老师的《算法的乐趣》一书中第四章之后,用Java重写并实现这一功能。 该文章是在学习完该章之后的一个学习总结,以供自己复习使用。 由于现在刚开始学习Java,为了熟悉Java的变成规范,因此,用Java实现这一功能。 public class NumberToChn { static String CHN_NUMBER[] = {"零", "一", "二", "三", "四

cht_JAVA的博客 1万+

ptrade从零开始学习量化交易第166期【ptrade量化策略研究参考--三个因子挖掘思路】

三个因子挖掘思路

GJ57017_wx的博客 1249

Java数字金额大写转换

需求:读入一个浮点数值,将其转化为中文金额的大写形式。如123.45,转化为:壹佰贰拾叁元肆角伍分。 以下是各种情况要完善: 1.当金额为整数,只表示整数部分,省略小数部分,并添加“整”字。如123表示为:壹佰贰拾叁元整。 2.当金额中含有连续的0时,只需写一个“零”即可。如10005表示为:壹万零伍元整。3.10的表示形式。如120表示为:壹佰贰拾元整。而10则表示为:拾元整。 pu...

Dxx_23的博客 8093

华为OD机试2025A卷 - 用户调度问题(Java & Python& JS & C++ & C )

题目要求每个用户依次选择当前所能选择的最小资源消耗策略,并且若有多个策略的资源消耗相同,则选择最后一个策略。每个用户的选择是独立的,只考虑该用户的策略和相邻用户的约束,不考虑整个调度序列的全局资源消耗。每个用户根据自己的当前状态(即自己的三种选择的资源消耗)做出局部最优选择:在当前可选的策略中,选择消耗最小的那个。如果有多个最小值,则选择最后一个(根据题意)。这一选择是局部的最优,即在当下最有利的选择,但并不保证最终的整体系统资源消耗是最小的。

算法大师! 1万+

华为OD机试双机位C卷:完美走位 (C++/C/Py/Java/Js/GO)

华为OD机试双机位C卷 完美走位, 提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机考 完美走位, 华为OD机试 完美走位。

qq_45776114的博客 1726

将金额数字转换为汉字大写金额

DATA: I_INPUT  TYPE  BSEG-DMBTR , "金额数字          O_OUTPUT) TYPE  STRING.        “金额汉字   DATA:          V_S00(2) VALUE '零',          V_S01(2) VALUE '壹',          V_S02(2) VALUE '贰',          V_S0

心丨悦 的专栏 1383

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Vue—将数字转换为大写金额

一、template <el-input type="number" v-enter-number="" v-model="value" placeholder="请输入金额" ></el-input> <p>

ygkyufcl的博客 4500

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

数字转换成大写金额

                                                    数字转换成大写金额using System;namespace  NumToCap{ ///  /// 类名:NumToCaps /// 功能:将数字转换大写 如:101.01->壹佰零壹元零壹分 /// 限制:数字为万万亿以内,小数不超过两位 /// 用法:NumToCap cap=new N

dqjia的专栏 1552

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

数字金额转换为大写金额python_python 数字转换为大写

在会计的时候,用到将数字转换为大写,也就是讲数字转为汉字外汇出入金流程https://www.fx61.com/supportclass cnumber:cdict = {}gdict = {}xdict = {}def __init__(self):self.cdict = {1: u'', 2: u'拾', 3: u'佰', 4: u'仟'}self.xdict = {1: u'元', 2: ...

weixin_39835925的博客 504

js将数字转换为大写金额

// 将数字转换为大写金额 export const changeToChinese = (Num) => { //判断如果传递进来的不是字符的话转换为字符 if (typeof Num == "number") { Num = new String(Num); }; Num = Num.replace(/,/g, "") //替换tomoney()中的“,” Num = Num.replace(/ /g, "") //替换tomoney()中的空格 Num = Num.repla..

DreamBoy 759

JS实现数字金额转换为大写金额

 function atoc(numberValue){              var numberValue=new String(Math.round(numberValue*100)); // 数字金额       var chineseValue="";          // 转换后的汉字金额       var String1 = "零壹贰叁

肖大宝产品之路 2026

JS 实现数字转换为大写中文金额

function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //基本单位 var cnIntRadice = new Array('', '拾', '佰', '仟'); //对应整数部分...

qq_40805231的博客 1409

js将数字金额转换为中文大写金额

效果图 html代码 <div class="control-group"> <label class="control-label">金额(小写):</label> <div class="controls"> <form:input path="applyPrice" htm...

药岩 1297

python数字转中文字符_python数字金额转换为中文大写金额

python数字金额转换为中文大写金额编写一函数,将数字金额转换为中文大写金额。设最高位考虑到亿,最低位考虑到分(如:数字金额为1023.445,转换为中文大写金额为:壹仟零佰贰拾叁元肆角伍分)。输入:一个数字金额(如:1234.5),输出:中文大写金额(壹仟贰佰叁拾肆元伍角零分)。from decimal import Decimaldef num2money_format(change_num...

weixin_39974932的博客 1766

将数字转换为大写金额

将数字转换为大写金额 package cn.tx.demo2; import java.util.Scanner; public class Demo1 { public static void main(String[] args){ // 分析 /** * 1. 根据 . 拆分,拆分后结果是 1324 32 * 2. 先处理 1324 * 2.1 获取到 1 根据数字1转换成大写金额 壹,再获取到数字3,转换成大写叁 * 2.2 壹叁贰肆 * 2.3 填写相关的单位(仟 佰) * / Syste

weixin_46880727的博客 801
上一篇: 求子矩阵元素最大和
下一篇: validator框架总结
firstjava
博客等级 码龄18年 26粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值