首页 > 其他分享 >JS之金额转换为大写

JS之金额转换为大写

时间:2024-05-09 16:35:07浏览次数:16  
标签:return 大写 replace substr str var 转换 JS unit

金额转换为大写函数如下:

export function convertToChineseCapital(n) {
  if (n == 0) {
    return "零";
  }
  if (!/^(\+|-)?(0|[1-9]\d*)(\.\d+)?$/.test(n))
    return "数据非法";
  var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
  n += "00";
  var a = parseFloat(n);
  if (a < 0) {
    n = n.substr(1);
  }
  var p = n.indexOf('.');
  if (p >= 0) {
    n = n.substring(0, p) + n.substr(p + 1, 2);
  }

  unit = unit.substr(unit.length - n.length);

  for (var i = 0; i < n.length; i++)
    str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
  if (a > 0) {
    return str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");

  } else {

    return "负" + str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
  }
}

 

标签:return,大写,replace,substr,str,var,转换,JS,unit
From: https://www.cnblogs.com/luoyihao/p/18182567

相关文章

  • CSS JS 自适应菜单
      <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>ResponsiveMenu</t......
  • Error: Cannot find module ‘D:\SoftSetupLoaction\nodejs\node_global\node_mod
    Error:Cannotfindmodule‘D:\SoftSetupLoaction\nodejs\node_global\node_modules\npm\bin\npm-cli.js‘  出现原因:重新安装可装了nodejs和npm网上查了很多方法,都建议重装,但是都没有效果(因为我就是重装之后出现的问题)按照错误提示node_global找不到npm-cli.js,个......
  • Node.js证件OCR、身份证实名认证接口、身份证识别API
    身份证是证明公民身份的有效证件,一些不法分子可以通过简单的工序制作出假身份证,损害老百姓的合法利益。据警方统计,大部分预谋诈骗犯罪分子会使用假身份证件,而社会上也有一部分人出于不正当的目的,刻意隐瞒自己真实的身份信息。在这种前提下,“全国身份证联网核查”应运而生,它的......
  • Cysimdjson:地球上最快的 JSON 解析器
    处理简单的少量数据,对速度是无感的,但如果要处理大量数据,哪怕每次几十毫秒的差异,最终也会差异巨大。比如,你要为客户清洗一遍企业系统数据中,一堆之前留下的庞大的JSON文件。如果你打算用Python自带的JSON模块,那就调整好心态,备足咖啡,享受煎熬吧。但如果有人告诉你,有比Py......
  • three.js基础之小案例
     静态场景<canvasid="mainCanvas"></canvas><scripttype="importmap">{"imports":{"three":"./js/build/three.module.js","three/addons/":"./js/jsm/"......
  • P4407 [JSOI2009] 电子字典
    题目链接:https://www.luogu.com.cn/problem/P4407trie树+爆搜做法:对所有文本串建树。对于编辑距离要求的三种情况,分四类在trie树上爆搜即可。#definemaxn200010structtrie{intson[maxn][26];intcnt[maxn];intidx=0;map<string,bool>mm;intv......
  • python读写json文件
    1.新建json文件打开记事本,重命名为.json后缀使用的样例如下,注意看json文件格式:{"server":{"host":"example.com","port":443,"protocol":"https"},"authentication":{......
  • Dapper 查询时智能枚举类型转换
    设置类型转换处理类:usingAPS.Core.ProductionMaterial.ProductionResourceAggregate;usingDapper;namespaceAPS.Infrastructure.Data.DapperRepositories;publicclassResourceTypeHandler:SqlMapper.TypeHandler<ResourceType>{publicoverrideResourceTypeP......
  • 如何将 Win10 企业版转换为专业版
    有时候,我们需要将Windows10企业版转换为专业版。这种情况可能发生在您购买了预装企业版的电脑,但实际上只需要专业版的功能。本文将介绍如何简单地将Windows10企业版转换为专业版。准备工作下载转换所需的安装文件。您可以从以下链接获取:链接:https://pan.baidu.com......
  • 2024-05-08 js 常见案例
    1.表单验证functionvalidateForm(){varname=document.forms["myForm"]["name"].value;if(name==""){alert("Namemustbefilledout");returnfalse;}//更多的验证.........