精华内容
下载资源
问答
  • js工具函数数字转为中文数字和大写金额

    万次阅读 多人点赞 2020-06-09 10:57:30
    数字转为中文大写数字和大写金额

     1. 数字转为中文数字

    function numberToChinese(num) {
      var AA = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十");
      var BB = new Array("", "十", "百", "仟", "萬", "億", "点", "");
      var a = ("" + num).replace(/(^0*)/g, "").split("."),
        k = 0,
        re = "";
      for (var i = a[0].length - 1; i >= 0; i--) {
        switch (k) {
          case 0:
            re = BB[7] + re;
            break;
          case 4:
            if (!new RegExp("0{4}//d{" + (a[0].length - i - 1) + "}$")
              .test(a[0]))
              re = BB[4] + re;
            break;
          case 8:
            re = BB[5] + re;
            BB[7] = BB[5];
            k = 0;
            break;
        }
        if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0)
          re = AA[0] + re;
        if (a[0].charAt(i) != 0)
          re = AA[a[0].charAt(i)] + BB[k % 4] + re;
        k++;
      }
      if (a.length > 1) // 加上小数部分(如果有小数部分)
      {
        re += BB[6];
        for (var i = 0; i < a[1].length; i++)
          re += AA[a[1].charAt(i)];
      }
      if (re == '一十')
        re = "十";
      if (re.match(/^一/) && re.length == 3)
        re = re.replace("一", "");
      return re;
    }
    let numTem = 1545644;
    console.log(numberToChinese(numTem));  // 一百五十四萬五仟六百四十四
    

     2. 数字转为中文大写金额

    function changeToChineseMoney(Num) {
      //判断如果传递进来的不是字符的话转换为字符
      if (typeof Num == "number") {
        Num = new String(Num);
      };
      Num = Num.replace(/,/g, "") //替换tomoney()中的“,”
      Num = Num.replace(/ /g, "") //替换tomoney()中的空格
      Num = Num.replace(/¥/g, "") //替换掉可能出现的¥字符
      if (isNaN(Num)) { //验证输入的字符是否为数字
        //alert("请检查小写金额是否正确");
        return "";
      };
      //字符处理完毕后开始转换,采用前后两部分分别转换
      var part = String(Num).split(".");
      var newchar = "";
      //小数点前进行转化
      for (var i = part[0].length - 1; i >= 0; i--) {
        if (part[0].length > 10) {
          return "";
          //若数量超过拾亿单位,提示
        }
        var tmpnewchar = ""
        var perchar = part[0].charAt(i);
        switch (perchar) {
          case "0":
            tmpnewchar = "零" + tmpnewchar;
            break;
          case "1":
            tmpnewchar = "壹" + tmpnewchar;
            break;
          case "2":
            tmpnewchar = "贰" + tmpnewchar;
            break;
          case "3":
            tmpnewchar = "叁" + tmpnewchar;
            break;
          case "4":
            tmpnewchar = "肆" + tmpnewchar;
            break;
          case "5":
            tmpnewchar = "伍" + tmpnewchar;
            break;
          case "6":
            tmpnewchar = "陆" + tmpnewchar;
            break;
          case "7":
            tmpnewchar = "柒" + tmpnewchar;
            break;
          case "8":
            tmpnewchar = "捌" + tmpnewchar;
            break;
          case "9":
            tmpnewchar = "玖" + tmpnewchar;
            break;
        }
        switch (part[0].length - i - 1) {
          case 0:
            tmpnewchar = tmpnewchar + "元";
            break;
          case 1:
            if (perchar != 0) tmpnewchar = tmpnewchar + "拾";
            break;
          case 2:
            if (perchar != 0) tmpnewchar = tmpnewchar + "佰";
            break;
          case 3:
            if (perchar != 0) tmpnewchar = tmpnewchar + "仟";
            break;
          case 4:
            tmpnewchar = tmpnewchar + "万";
            break;
          case 5:
            if (perchar != 0) tmpnewchar = tmpnewchar + "拾";
            break;
          case 6:
            if (perchar != 0) tmpnewchar = tmpnewchar + "佰";
            break;
          case 7:
            if (perchar != 0) tmpnewchar = tmpnewchar + "仟";
            break;
          case 8:
            tmpnewchar = tmpnewchar + "亿";
            break;
          case 9:
            tmpnewchar = tmpnewchar + "拾";
            break;
        }
        var newchar = tmpnewchar + newchar;
      }
      //小数点之后进行转化
      if (Num.indexOf(".") != -1) {
        if (part[1].length > 2) {
          // alert("小数点之后只能保留两位,系统将自动截断");
          part[1] = part[1].substr(0, 2)
        }
        for (i = 0; i < part[1].length; i++) {
          tmpnewchar = ""
          perchar = part[1].charAt(i)
          switch (perchar) {
            case "0":
              tmpnewchar = "零" + tmpnewchar;
              break;
            case "1":
              tmpnewchar = "壹" + tmpnewchar;
              break;
            case "2":
              tmpnewchar = "贰" + tmpnewchar;
              break;
            case "3":
              tmpnewchar = "叁" + tmpnewchar;
              break;
            case "4":
              tmpnewchar = "肆" + tmpnewchar;
              break;
            case "5":
              tmpnewchar = "伍" + tmpnewchar;
              break;
            case "6":
              tmpnewchar = "陆" + tmpnewchar;
              break;
            case "7":
              tmpnewchar = "柒" + tmpnewchar;
              break;
            case "8":
              tmpnewchar = "捌" + tmpnewchar;
              break;
            case "9":
              tmpnewchar = "玖" + tmpnewchar;
              break;
          }
          if (i == 0) tmpnewchar = tmpnewchar + "角";
          if (i == 1) tmpnewchar = tmpnewchar + "分";
          newchar = newchar + tmpnewchar;
        }
      }
      //替换所有无用汉字
      while (newchar.search("零零") != -1)
        newchar = newchar.replace("零零", "零");
      newchar = newchar.replace("零亿", "亿");
      newchar = newchar.replace("亿万", "亿");
      newchar = newchar.replace("零万", "万");
      newchar = newchar.replace("零元", "元");
      newchar = newchar.replace("零角", "");
      newchar = newchar.replace("零分", "");
      if (newchar.charAt(newchar.length - 1) == "元") {
        newchar = newchar + "整"
      }
      return newchar;
    }
    let money = 15455605;
    console.log(changeToChineseMoney(money));  // 壹仟伍佰肆拾伍万伍仟陆佰零伍元整
    

     

    展开全文
  • 实用函数-php数字转为汉字金额

    千次阅读 2015-04-19 22:48:07
    实用函数-php数字转为汉字金额
    <?php
    /**
    * 数字转换为中文
    * @param  string|integer|float  $num  目标数字
    * @param  integer $mode 模式[true:金额(默认),false:普通数字表示]
    * @param  boolean $sim 使用小写(默认)
    * @return string
    */
    function number2chinese($num,$mode = true,$sim = true){
        if(!is_numeric($num)) return '含有非数字非小数点字符!';
        $char    = $sim ? array('零','一','二','三','四','五','六','七','八','九')
        : array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖');
        $unit    = $sim ? array('','十','百','千','','万','亿','兆')
        : array('','拾','佰','仟','','萬','億','兆');
        $retval  = $mode ? '元':'点';
    
        //小数部分
        if(strpos($num, '.')){
            list($num,$dec) = explode('.', $num);
            $dec = strval(round($dec,2));
            if($mode){
                $retval .= "{$char[$dec['0']]}角{$char[$dec['1']]}分";
            }else{
                for($i = 0,$c = strlen($dec);$i < $c;$i++) {
                    $retval .= $char[$dec[$i]];
                }
            }
        }
        //整数部分
        $str = $mode ? strrev(intval($num)) : strrev($num);
        for($i = 0,$c = strlen($str);$i < $c;$i++) {
            $out[$i] = $char[$str[$i]];
            if($mode){
                $out[$i] .= $str[$i] != '0'? $unit[$i%4] : '';
                    if($i>1 and $str[$i]+$str[$i-1] == 0){
                    $out[$i] = '';
                }
                    if($i%4 == 0){
                    $out[$i] .= $unit[4+floor($i/4)];
                }
            }
        }
        $retval = join('',array_reverse($out)) . $retval;
        return $retval;
    }
    
    //实例调用=====================================================
    $num = '0123648867.789';
    echo $num,'<br>';
    //普通数字的汉字表示
    echo '普通:',number2chinese($num,false),'';
    echo '<br>';
    //金额汉字表示
    echo '金额(简体):',number2chinese($num,true),'';
    echo '<br>';
    echo '金额(繁体):',number2chinese($num,true,false);
    
    ?>

    运行截图:



    展开全文
  • PHP中将ip转为数字(ipv4/ipv6)

    千次阅读 2018-09-06 15:33:52
    需求:ipv4或ivp6的ip地址转为数字后存入数据库中 一、ipv4转为数字(正整数): ipv4可直接用PHP自带的函数ip2long()函数与sprintf()函数结合进行转换,代码如下: $ip = '202.203.44.225'; $ipToInt = ...

    需求:将ipv4或ivp6的ip地址转为数字后存入数据库中

    一、将ipv4转为数字(正整数):

    ipv4可直接用PHP自带的函数ip2long()函数与sprintf()函数结合进行转换,代码如下:

    $ip = '202.203.44.225';
    $ipToInt = sprintf('%u',ip2long($ip)); // 结果为:3402312929
    echo "ip '202.203.44.225' to int is: ".$ipToInt; 

    结果为:

    ip2long()函数是将ip转为长整型数字,但有些ip转为长整型数字时是复数,如ip:,所以需要用sprintf()函数将数组转为正整数。也有其他的方法将复数转为正整数,但我觉得sprintf()这个方法最为方便,所以这里建议大家用sprintf()。另外提醒大家,不要用abs()函数进行负数的转换,因为转出来的结果有一定差异,比如:

    $ip = '192.168.101.100';
    $ip2int = ip2long($ip); 
    echo abs($ip2int).'<br/>'; // 结果为:1062705820
    echo sprintf('%u',$ip2int); // 结果为:3232261476

    二、将ipv6转为数字(正整数):

    对于ipv6格式的ip地址,我们无法使用ip2long()函数直接进转换,只能通过其它方式进行转换,下面将贴出网友weissner在PHP手册(http://php.net/manual/zh/function.ip2long.php#94477)留下解决方法,在此之前,需要大家注意的是,需将php.ini文件中,extension=php_gmp.dll之前的注释符号‘;’去掉,因为代码中将用到改扩展中的函数。。

    将ipv6转为数字的代码如下:

    $ipv6 = 'FEDC:BA98:7654:3210:FEDC:BA98:7654:3210';
    $ip_n = inet_pton($ipv6);
    $bits = 15; // 16 x 8 bit = 128bit
    $ipv6long='';
    while ($bits >= 0) {
            $bin = sprintf("%08b",(ord($ip_n[$bits])));
            $ipv6long = $bin.$ipv6long;
            $bits--;
    }
    echo gmp_strval(gmp_init($ipv6long,2),10); // 结果为:338770000845734292534325025077361652240

    如大家所见,ipv6的地址转为数字之后,有38个数字,数据库中的bigint也无法存下,所以大家还需要将数据库中的字段类型转为char或varchar类型。

    另附代码,判断ip是ivp4还是ipv6,并将ip转为数字格式:

    $ip = '192.168.101.100';
    //$ip = 'FEDC:BA98:7654:3210:FEDC:BA98:7654:3210';
    if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
        echo sprintf('%u',ip2long($ip));exit;
    
    } else if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
    
    $ip_n = inet_pton($ip);
    $bits = 15; // 16 x 8 bit = 128bit
    $ipv6long='';
        while ($bits >= 0) {
            $bin = sprintf("%08b",(ord($ip_n[$bits])));
            $ipv6long = $bin.$ipv6long;
            $bits--;
        }
        echo gmp_strval(gmp_init($ipv6long,2),10);exit;
    }

     

    展开全文
  • MySQL 数字类型转换函数(concat/cast) ...1、Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80′ 2、varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串 3.mysql也支持CONVER

    转自:http://www.educity.cn/wenda/399550.html

    MySQL 数字类型转换函数(concat/cast)

    1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80′

    2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串

    3.mysql也支持CONVERT

    总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)
    可用的类型
    二进制,同带binary前缀的效果 : BINARY
    字符型,可带参数 : CHAR()
    日期 : DATE
    时间: TIME
    日期时间型 : DATETIME
    浮点数 : DECIMAL
    整数 : SIGNED
    无符号整数 : UNSIGNED
    cast函数运行示例

    mysql> select cast(’125e342.83′ as signed) as clm1, cast(‘foo seo 589′ as signed) as clm2,cast(’3.35′ as signed) as clm3;
    +——+——+——+
    | clm1 | clm2 | clm3 |
    +——+——+——+
    |  125 |    0 |    3 |
    +——+——+——+
    1 row in set, 3 warnings (0.00 sec)

    mysql>



    CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name)
    CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。

    这个类型 可以是以下值其中的 一个:  

    BINARY[(N)]
    CHAR[(N)]
    DATE
    DATETIME
    DECIMAL
    SIGNED [INTEGER]
    TIME
    UNSIGNED [INTEGER]
    展开全文
  • 字符串转为数字

    千次阅读 2018-12-11 10:09:01
    Number函数将字符串转换为数字   还可以使用parseFloat和parseInt。 但是parseInt可能会把原来的带小数的字符串的小数去掉。因为他是取整函数。  
  • 项目中遇到想阿拉伯金额数字转为中文汉字数字形式,下面脚本之家小编就为大家分享一下ASP将数字转中文数字函数的实现方法,需要的朋友可以参考下
  • *字符串必须包含一个或多个数字函数应该把这些数字字符转换为整数并且 *返回这个值,如果脂肪层参数包含了任何非数字字符,函数就要返回0,不考 *虑溢出情况 2、代码实现 #include /** *字符串必须包含一...
  • 将数字金额转成人民币大写,如1999.00,转为:壹仟玖佰玖拾玖元整;2000.00,转为:贰仟元整;2000.01,转为:贰仟元零壹分
  • python 列表中的字符串转为数字

    万次阅读 多人点赞 2019-06-05 21:14:05
    python 列表中的字符串转为数字 转自:https://www.jb51.net/article/86561.htm 本文实例讲述了Python中列表元素转为数字的方法。分享给大家供大家参考,具体如下: 有一个数字字符的列表: 1 ...
  • 平时会碰到把中文大写的金额转为阿拉伯数字,比如叁仟伍佰陆拾玖元肆角需要转为3569.4,尝试编写函数如下: def convert_cndigit(xxx): CN_NUM = { '〇' : 0, '一' : 1, '二' : 2, '三' : 3, '四' : 4, '五' : 5, ...
  • Oracle字符串转为数字

    万次阅读 2017-06-19 17:55:12
    oracle字符类型转换为数字
  • MySQL函数 数字转中文 非金额 处理数据类型 decimal(21,6)
  • mysql文本函数数字函数

    千次阅读 2014-05-18 19:36:33
    文本处理函数 函数 说明 Left() 返回串左边的字符 ...串转换为小写 LTrim() 去掉串左边的空格 Right() 去掉串右边的空格 RTrim() 去掉右边的空格 Soundex() 返
  • 有一个数字字符的列表: numbers = [‘1’, ‘5’, ‘10’, ‘8’] 想要把每个元素转换为数字: numbers = [1, 5, 10, 8] 用一个循环来解决: new_numbers = []; for n in numbers: new_numbers.append(int(n))...
  • Chr函数将数字转换为ASCII码

    千次阅读 2011-03-28 13:07:00
    procedure TForm1.ButtonClick(Sender: TObject); var C:Char;begin C:=Chr(59); //ASCII码对应表; #10#13; #号+数字就=ASCII码; //Chr函数将数字转换为ASCII码; ShowMessage(C);end;
  • 主要介绍了Python中列表元素转为数字的方法,结合实例形式对比分析了Python列表操作及数学运算的相关技巧,需要的朋友可以参考下
  • 用sprintf函数将数字转换成字符串

    千次阅读 2017-09-23 10:47:29
    过去我是手写的转换函数:void Int2Str(int x,char *istr) // 正整数x转换为字符串istr { char ch,*p,*t; int r; p=t=istr; while(x>0) { r=x%10; x=x/10; *p='0'+r; p++;
  • mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。
  • 最近在复习高阶函数的时候,有一道题想了半天解不出来。于是上午搜索资料,看了...下面这篇文章就来给大家介绍了python利用reduce和map把字符串转为数字的思路及方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
  • Oracle数字函数数字四舍五入,取整以及格式化
  • pythonnan, inf转为特定的数字

    万次阅读 多人点赞 2016-11-07 15:01:52
    最近,处理两个矩阵的点除,得到结果后,再作其他的计算,发现...为了结果能够被python其他函数处理,尤其numpy库,需要nan,inf转为python所能识别的类型。这里nan,inf替换0作为例子。 1. 代码 import numpy
  • awk字符串转为数字的方法

    万次阅读 2012-06-20 21:45:50
    在awk里不论字符串还是数字都被视为字符串;...同时,awk 变量是“简单的”,因为可以对它执行数学操作,且只要变量包含有效数字字符串,awk 会自动处理字符串到数字的转换步骤” 特别地,字符在参与运算时被视为0
  • 将数字转为中文金额的大写方式(Java版) 博文链接:https://lovinchan.iteye.com/blog/202768
  • 1、Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80’ 2、varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串 总结:类型转换和SQL Server一样,就是类型参数有点点不同 : ...
  • 数字信号处理(二)窗函数法设计FIR数字滤波器

    万次阅读 多人点赞 2019-11-17 15:58:56
    (1) 熟悉矩形窗、汉宁窗、海明窗等常用窗函数。...(2) 掌握用上述窗函数法设计FIR数字滤波器的原理和方法。 (3) 熟悉线性相位FIR数字滤波器特性。 (4) 了解窗函数类型及窗口长度对滤波器特性的影响。
  • python 字符串转为数字运算

    千次阅读 2019-04-11 08:06:50
    场景: 字符串:740*230277+247*(5743+1829) 要字符串当作数字直接进行运算出结果 使用eval函数 直接eval(740*230277+247*(5743+1829))。即可解决 我是在做bugku的ctf题时候用到的。 ...
  • oracle 字符串转为数字排序

    千次阅读 2018-11-05 20:30:39
    select * from table ORDER BY to_number(ID) **to_number()**函数可以实现字符串转换为数字
  • 包含了很多C语言字符串和数字转换函数,有详细的代码解释和案例

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,216
精华内容 34,086
关键字:

如何将函数转为数字