如何将人民币数字转为大写

废话不说,直接上代码,实现传入数字输出人民币大写

    let num="5556.4"
      console.log(numTocoggle(num))
      function numTocoggle(num){
      	 var regexp=/^\d+(([.]{1}(\d{0,2}))+){0,1}$/
      	 if(regexp.test(num)){
	      	/* 壹佰贰拾叁亿   伍仟陆佰捌拾捌万   捌仟伍佰伍拾伍元    伍角叁分*/
	        let digital=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"];
	        let unit=[[‘元‘,‘万‘, ‘亿‘],[‘‘,‘拾‘,‘佰‘,‘仟‘]];
	        let decimalUnit=[‘角‘,‘分‘]
	        let [key,val]=num.split(".");
	        let str=‘‘
	        let keys=key.split("").reverse()
	        let result=[]
	        let index=0;
		    while(index<keys.length) {
		       result.push(keys.slice(index,index+=4));
		    }
	        for(let h=result.length-1;h>=0;h--){
	           let numstr=‘‘
	          for(let k=result[h].length-1;k>=0;k--){
	          	 numstr+=digital[result[h][k]]+unit[1][k]
	          }
	          str+=numstr+unit[0][h]
	        }
	        if(val!=undefined){
	           let valString=val.toString();
	           for(var i=0;i<valString.length;i++){
	        	 str+=(digital[valString[i]]+decimalUnit[i])
	           }
	        }
          return str;
         }else{
         	return "请输入正确的数字并保留两位小数";
         }
      }

  

原文地址:https://www.cnblogs.com/qianduanshouzwangzhe/p/10496294.html

时间: 2024-11-13 07:51:24

如何将人民币数字转为大写的相关文章

SQLSERVER中的人民币数字转大写的函数实现

CREATE  FUNCTION [dbo].[f_num_chn] (@num numeric(14,5))RETURNS varchar(100) WITH ENCRYPTIONASBEGIN--版权所有:[email protected]  DECLARE @n_data VARCHAR(20),@c_data VARCHAR(100),@n_str VARCHAR(10),@i int SET @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100)

【Java】将数字转为汉字(中国钱币-数字转汉字)

今天做了一个题,需要把数字转为汉字,想了一段时间没有结果,于是在网上搜索出了如下方法: 1 package com.b510.number2char; 2 3 import java.math.BigDecimal; 4 5 /** 6 * 数字转换为汉语中人民币的大写<br> 7 * 8 * @author hongten 9 * @contact [email protected] 10 * @create 2013-08-13 11 */ 12 public class NumberTo

王小胖之数字转大写

使用场景:一般在书写正规金额的时候都要求填写大写数字. 实现功能:数字转大写功能主要实现:输入小写阿拉伯数字,转换成大写 数据实例:输入,12345678.90   输出,人民币:壹仟贰佰叁拾肆万伍仟陆佰柒拾捌元玖角 功能实现: Html代码 <div class="input-group"> <input name="kw" type="text" class="form-control" placehol

c# 财务报表数字转大写的方法

/// <summary>/// 数字转大写/// </summary>/// <param name="Num">数字</param>/// <returns></returns> public static string CmycurD(decimal num) { string str1 = "零壹贰叁肆伍陆柒捌玖"; //0-9所对应的汉字 string str2 = "万仟佰

人民币小写转大写

/** * 人民币小写转大写 * * @param string $number 数值 * @param string $int_unit 币种单位,默认"元",有的需求可能为"圆" * @param bool $is_round 是否对小数进行四舍五入 * @param bool $is_extra_zero 是否对整数部分以0结尾,小数存在的数字附加0,比如1960.30, * 有的系统要求输出"壹仟玖佰陆拾元零叁角",实际上"壹仟

PHP中数字转为百分位,千分位,万分位。。。

今天做项目中,需要将文章点击量显示在页面中,需求中给的是多少多少万,虽然不是什么难事,但做程序员这么久了,需要考虑的不再是简单的实现,而且有效率和快捷, 虽然PHP自带的函数有number_format()可以做到实现千分位,但我要的是万分位, 通过查找,发现了可以用以下这个方法: $num = 86231; # 将数字转为万分位 echo $num>10000?sprintf("%.1f", $num/10000):$num; 类似的通过这个方法,可以稍微修改下,就可以实现百分

备忘: Android中把EditText的输入内容转为大写

editText_SerialCode = (EditText) findViewById(R.id.editText_SerialCode); editText_SerialCode.addTextChangedListener(textWatcher); private TextWatcher textWatcher = new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int

小写数字转大写

--小写数字转大写,只是单纯的将数字转换为大写了,还要加单位 create or replace function chinese(number1 number) return varchar2 is Result varchar2(30):=' '; v_chinese varchar2(25):='零壹贰叁肆伍陆柒捌玖'; v_char varchar2(10); begin for i in 1..length(number1) loop select substr(v_chinese,s

将金额数字转换为大写汉字的js函数

1 //将金额数字转换为大写汉字的函数 2 function convertCurrency(money) { 3 //汉字的数字 4 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); 5 //基本单位 6 var cnIntRadice = new Array('', '拾', '佰', '仟'); 7 //对应整数部分扩展单位 8 var cnIntUnits = new Array('', '