好记性,不如烂笔头。好记性,不如烂笔头。

JavaScript 汉字版乘法表

使用javascript 来实现文字版陈法口诀表.

var arr = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九"); //定义数字对应的汉字
var dy = new Array("", "十", "百", "千", "万", "十万", "百万", "千万", "亿", "十亿"); //定义对应的单位
//数字转汉字函数
function num2cn(mm) { //设置函数入口 以及需要传入的参数
  mm = mm.toString(); //obj.toString()用来将数字转成字符串的方法;
  var tmp = ""; //初始化tmp变量
  var count0 = 0;
  var zero = "";
  var tmp2 = null;
  for (var i = 0; i < mm.length; i++) { //根据传入的参数的长度循环
    tmp2 = mm.substr(i, 1); //截取字符串 从开头第一个开始截取
    if (tmp2 == "0") {
      count0 += 1; //计算连续为0的个数
      zero = "";
      if (count0 < 2) {
        zero = "零"; //如果数字中间连续为0则输出一个0
      }
      if (mm.substr(mm.length - 1, 1) == "0") { //当末尾是零的时候
        zero = "";
      }
    } else {
      count0 = 0; //当不为0的时候复位计数器
      zero = arr[tmp2] + dy[mm.length - i - 1];
    }

    tmp = tmp + zero; //将返回的结果和单位累加存到tmp里
    //根据数字的位数来确定所需要的单位  长度-当前循环的次数 
    //比如当前的数字为123  当截取到1 时 1后面的单位应该为百 所以当前数组中第三个为百,以此为计算依据计算
  }
  return tmp; //返回函数的结果
}
for (var i = 1; i <= 9; i++) {
  for (var j = 1; j <= i; j++) {
    document.write(" " + num2cn(j) + "乘" + num2cn(i) + "得" + num2cn(j * i));
    document.write("<br></mm>");
  }
  document.write("<br/>");
}
//测速长文字
document.write(num2cn("846518463"));

运行结果如下

一乘一得一

一乘二得二
二乘二得四

一乘三得三
二乘三得六
三乘三得九

一乘四得四
二乘四得八
三乘四得一十二
四乘四得一十六

一乘五得五
二乘五得一十零
三乘五得一十五
四乘五得二十零
五乘五得二十五

一乘六得六
二乘六得一十二
三乘六得一十八
四乘六得二十四
五乘六得三十零
六乘六得三十六

一乘七得七
二乘七得一十四
三乘七得二十一
四乘七得二十八
五乘七得三十五
六乘七得四十二
七乘七得四十九

一乘八得八
二乘八得一十六
三乘八得二十四
四乘八得三十二
五乘八得四十零
六乘八得四十八
七乘八得五十六
八乘八得六十四

一乘九得九
二乘九得一十八
三乘九得二十七
四乘九得三十六
五乘九得四十五
六乘九得五十四
七乘九得六十三
八乘九得七十二
九乘九得八十一

八亿四千万六百万五十万一万八千四百六十三

未经允许不得转载:好记性,不如烂笔头。 » JavaScript 汉字版乘法表

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 99乘法表再怎么不能乘出上万吧
    ![](https://edward-p.ml/images/funny.png)

    edward-p (2017-09-05) 回复
    • //测速长文字 document.write(num2cn("846518463"));

      0x00 (2017-09-08) 回复