js字符串每个数组前面数字转换为多少个数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js字符串每个数组前面数字转换为多少个数组相关的知识,希望对你有一定的参考价值。

javascript 允许数组与字符串之间相互转换。其中 Array 方法对象定义了 3 个方法,可以把数组转换为字符串,如表所示。

数组方法

说明

toString()

将数组转换成一个字符串

toLocalString()

把数组转换成本地约定的字符串

join()

将数组元素连接起来以构建一个字符串

Array 对象的数组与字符串相互转换方法数组方法说明toString()将数组转换成一个字符串toLocalString()把数组转换成本地约定的字符串join()将数组元素连接起来以构建一个字符串

示例1 toString()

下面使用 toString() 方法读取数组的值。

数组中 toString() 方法能够把每个元素转换为字符串,然后以逗号连接输出显示。

var a = [1,2,3,4,5,6,7,8,9,0]; //定义数组

var s = a.toString(); //把数组转换为字符串

console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”

console.log(typeof s); //返回字符串string,说明是字符串类型

当数组用于字符串环境中时,JavaScript 会自动调用 toString() 方法将数组转换成字符串。在某些情况下,需要明确调用这个方法。

var a = [1,2,3,4,5,6,7,8,9,0]; //定义数组

var b = [1,2,3,4,5,6,7,8,9,0]; //定义数组

var s = a + b; //数组连接操作

console.log(s); //返回“1,2,3,4,5,6,7,8,9,01,2,3,4,5,6,7,8,9,0”

console.log(typeof s); //返回字符串string,说明是字符串类型

toString() 在把数组转换成字符串时,首先要将数组的每个元素都转换为字符串。当每个元素都被转换为字符串时,才使用逗号进行分隔,以列表的形式输出这些字符串。

var a = [1,[2,3],[4,5]],[6,[7,[8,9],0]]]; //定义多维数组

var s = a.toString(); //把数组转换为字符串

console.log(S); //返回字符串“1,2,3,4,5,6,7,8,9,0”

其中数组 a 是一个多维数组,JavaScript 会以迭代的方式调用 toString() 方法把所有数组都转换为字符串。

示例2 toLocaleString()

下面使用 toLocaleString() 方法读取数组的值。

toLocaleString() 方法与 toString() 方法用法基本相同,主要区别在于 toLocaleString() 方法能够使用用户所在地区特定的分隔符把生成的字符串连接起来,形成一个字符串。

var a = [1,2,3,4,5]; //定义数组

var s = a.toLocaleString(); //把数组转换为本地字符串

console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”

在上面示例中,toLocaleString() 方法根据中国的使用习惯,先把数字转换为浮点数之后再执行字符串转换操作。

示例3 join()

下面使用 join() 方法可以把数组转换为字符串。

join() 方法可以把数组转换为字符串,不过它可以指定分隔符。在调用 join() 方法时,可以传递一个参数作为分隔符来连接每个元素。如果省略参数,默认使用逗号作为分隔符,这时与 toString() 方法转换操作效果相同。

var a = [1,2,3,4,5]; //定义数组

var s = a.join("=="); //指定分隔符

console.log(s); //返回字符串“1==2==3==4==5”

示例4  split()

下面使用 split() 方法把字符串转换为数组。

split() 方法是 String 对象方法,与 join() 方法操作正好相反。该方法可以指定两个参数,第 1 个参数为分隔符,指定从哪儿进行分隔的标记;第 2 个参数指定要返回数组的长度。

var s = "1==2== 3==4 ==5";

var a = s.split("==");

console.log(a);

console.log(a.constructor == Array);
参考技术A JavaScript 允许数组与字符串之间相互转换。其中 Array 方法对象定义了 3 个方法,可以把数组转换为字符串,如表所示。
数组方法
说明
toString()
将数组转换成一个字符串
toLocalString()
把数组转换成本地约定的字符串
join()
将数组元素连接起来以构建一个字符串
Array 对象的数组与字符串相互转换方法数组方法说明toString()将数组转换成一个字符串toLocalString()把数组转换成本地约定的字符串join()将数组元素连接起来以构建一个字符串
示例1 toString()
下面使用 toString() 方法读取数组的值。
数组中 toString() 方法能够把每个元素转换为字符串,然后以逗号连接输出显示。
var a = [1,2,3,4,5,6,7,8,9,0]; //定义数组
var s = a.toString(); //把数组转换为字符串
console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”
console.log(typeof s); //返回字符串string,说明是字符串类型
当数组用于字符串环境中时,JavaScript 会自动调用 toString() 方法将数组转换成字符串。在某些情况下,需要明确调用这个方法。
var a = [1,2,3,4,5,6,7,8,9,0]; //定义数组
var b = [1,2,3,4,5,6,7,8,9,0]; //定义数组
var s = a + b; //数组连接操作
console.log(s); //返回“1,2,3,4,5,6,7,8,9,01,2,3,4,5,6,7,8,9,0”
console.log(typeof s); //返回字符串string,说明是字符串类型
toString() 在把数组转换成字符串时,首先要将数组的每个元素都转换为字符串。当每个元素都被转换为字符串时,才使用逗号进行分隔,以列表的形式输出这些字符串。
var a = [1,[2,3],[4,5]],[6,[7,[8,9],0]]]; //定义多维数组
var s = a.toString(); //把数组转换为字符串
console.log(S); //返回字符串“1,2,3,4,5,6,7,8,9,0”
其中数组 a 是一个多维数组,JavaScript 会以迭代的方式调用 toString() 方法把所有数组都转换为字符串。
示例2 toLocaleString()
下面使用 toLocaleString() 方法读取数组的值。
toLocaleString() 方法与 toString() 方法用法基本相同,主要区别在于 toLocaleString() 方法能够使用用户所在地区特定的分隔符把生成的字符串连接起来,形成一个字符串。
var a = [1,2,3,4,5]; //定义数组
var s = a.toLocaleString(); //把数组转换为本地字符串
console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”
在上面示例中,toLocaleString() 方法根据中国的使用习惯,先把数字转换为浮点数之后再执行字符串转换操作。
示例3 join()
下面使用 join() 方法可以把数组转换为字符串。
join() 方法可以把数组转换为字符串,不过它可以指定分隔符。在调用 join() 方法时,可以传递一个参数作为分隔符来连接每个元素。如果省略参数,默认使用逗号作为分隔符,这时与 toString() 方法转换操作效果相同。
var a = [1,2,3,4,5]; //定义数组
var s = a.join("=="); //指定分隔符
console.log(s); //返回字符串“1==2==3==4==5”
示例4 split()
下面使用 split() 方法把字符串转换为数组。
split() 方法是 String 对象方法,与 join() 方法操作正好相反。该方法可以指定两个参数,第 1 个参数为分隔符,指定从哪儿进行分隔的标记;第 2 个参数指定要返回数组的长度。
var s = "1==2== 3==4 ==5";
var a = s.split("==");
console.log(a);
console.log(a.constructor == Array
参考技术B join() 方法可以把数组转换为字符串,不过它可以指定分隔符。在调用 join() 方法时,可以传递一个参数作为分隔符来连接每个元素。如果省略参数,默认使用逗号作为分隔符,这时与 toString() 方法转换操作效果相同。
var a = [1,2,3,4,5]; //定义数组
var s = a.join("=="); //指定分隔符
console.log(s); //返回字符串“1==2==3==4==5”
示例4 split()
下面使用 split() 方法把字符串转换为数组。
split() 方法是 String 对象方法,与 join() 方法操作正好相反。该方法可以指定两个参数,第 1 个参数为分隔符,指定从哪儿进行分隔的标记;第 2 个参数指定要返回数组的长度。
var s = "1==2== 3==4 ==5";
var a = s.split("==");
console.log(a);
console.log(a.constructor == Array);

Java浮点数转人民币读法

Java浮点数转人民币读法
 
  • 把【整数部分】的数字,由个位开始,4个数字分为一组,最高位没有数字就补0,并记录总共的数组个数,总共有3组,也就3*4的二维数组;
  • 对于每个数组统一处理,当读取到0时,检查它的上一位是否为0,如果上一位是0,则不做处理,如果上一位不是0或者上一位不存在,均记下“零”;
  • 读取每个数字,转换为对应的大写汉字,并加上权重“仟、佰、拾”,根据读取的是第几个数组,后面添加相应的“亿”、“万”、“元”;
  • 最后将最开头的“零去掉”,将“亿”、“万”、“元”字前面的“零”去掉;
  • 把【小数部分】做一维数组处理,仅保留两位小数,对应“角”和“分”,数字0不处理;
  • 测试数字『120, 3005, 7600.89』,读作:壹佰贰拾亿叁仟零伍万柒仟陆佰元捌角玖分。

 

package theTest;
public class NumToRmb {
     
     private String[] hanArr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
     
     private String[] unitArr={"仟","佰","拾"};
     
     /**
      * 把一个浮点数分解成整数部分和小数部分字符串
      * @param num 需要被分解的浮点数
      * @return 分解出来的整数部分和小数部分,第1个数组元素是整数部分,第2个数组元素是小数部分。
      */
     private String[] divide(double num){
           //将一个浮点数强制转换为long型,即得到它的整数部分
           long zheng=(long)num;
           
           //浮点数减去整数部分,得到小数部分,小数部分乘以100取整得到两位小数
           long xiao=Math.round((num-zheng)*100);
           
           //这里使用两种方法将整数转换为字符串
           return new String[]{String.valueOf(zheng),xiao+""};
     }
     /**
      * 将整数分成4个数字为一组的字符串处理,转化成大写数字再将它们连接起来,得到最终的人民币读法
      * @param num 需要被转化为大写数字的浮点数
      * @return 返回整个数字的人民币读法
      */
     private String conHanStr(double num){
           
           //存储整数结果、小数结果
           String resZheng="";
           String resXiao="";
           
           //存储最终结果
           String result="";
           
           //分别存储整数部分和小数部分字符串
           String zhengStr=divide(num)[0];
           String xiaoStr=divide(num)[1];
           
           /*小数部分的处理*/
           if(xiaoStr.length()==1){
                xiaoStr="0"+xiaoStr;
           }
           
           resXiao=xiao2Han(xiaoStr);
           
           /*整数部分的处理*/
           //记录字符串个数,是第几个数组
           int countArr=0;
           String tempStr="";
           
           //记录位数
           int countNum=0;
           
           for(int i=zhengStr.length()-1;i>=0;i--){
                countNum++;
                tempStr=zhengStr.charAt(i)+tempStr;
                
                if(i-1<0){
                     //i已经是最后一个数字,不够的位,补0
                     while(tempStr.length()<4){
                           tempStr="0"+tempStr;
                     }
                     countArr++;
                     resZheng=zheng2Han(countArr,tempStr)+" "+resZheng;
                }else{
                     if(countNum==4){
                           countArr++;
                          resZheng=zheng2Han(countArr,tempStr)+" "+resZheng;
                           countNum=0;
                           tempStr="";
                     }    
                }
           }
           
           //去掉开头的零
           if(resZheng.charAt(0)==‘零‘){
                resZheng=resZheng.substring(1,resZheng.length());
           }
           
           /*整数和小数的连接*/
           //表示整数部分为0
           if(resZheng.charAt(0)==‘元‘){
                resZheng="零"+resZheng;
           }
           
           result=resZheng+resXiao;
           
           return result;
     }
     
     /**
      * 每个4位的整数组转化为大写的数字
      * @param count 记录是第几个数组(1-3)
      * @param str 需要被转换的数组
      * @return 返回该数组人民币读法
      */
     private String zheng2Han(int count,String str){
           
           String result="";
           for(int j=0;j<4;j++){
                int tempNum=str.charAt(j)-48;
                if(tempNum!=0){
                     if(j!=3){
                           result+=hanArr[tempNum]+unitArr[j];
                     }else{
                           result+=hanArr[tempNum];
                     }
                }else{
                     if((j-1<0)||(str.charAt(j-1)-48!=0)){
                           result+=hanArr[tempNum];
                     }
                }
           }
           
           //去掉末尾的零
           if(result.charAt(result.length()-1)==‘零‘){
                result=result.substring(0, result.length()-1);
           }
           
           //去零之后添加“亿、万、元、角、分”。
           switch(count){
           case 1:
                result+="元";
                break;
           case 2:
                result+="万";
                break;
           case 3:
                result+="亿";
                break;
           default:
                System.out.println("仅支持不大于9999,9999,9999.99的数字!");
                return "";
           }
           return result;
     }
     
     /**
      * 小数转化为大写的数字
      * @param str 需要被转换的数组
      * @return 返回该小数人民币读法
      */
     private String xiao2Han(String str){
           String result="";
           if(!str.equals("00")){
                for(int i=0;i<2;i++){
                     int tempNum=str.charAt(i)-48;
                     if((tempNum!=0)&&(i==0)){
                           result+=hanArr[tempNum]+"角";
                     }
                     if((tempNum!=0)&&(i==1)){
                           result+=hanArr[tempNum]+"分";
                     }
                }
           }
           return result;
     }
     
     /**
      * 主函数
      * @param args
      */
     public static void main(String[] args) {
           NumToRmb nr=new NumToRmb();
          System.out.println(nr.conHanStr((double)12030060078.95));
     }
}

 

 
 

以上是关于js字符串每个数组前面数字转换为多少个数组的主要内容,如果未能解决你的问题,请参考以下文章

JS如何把一个数字数组转换成一个数字。

c++ string int

js中如何把一串数字转换为数组

将每个数字从保存在字符串中的数字转换为 int 数组

C语言——输入一个字符串,将连续数字字符转换为数字

Java浮点数转人民币读法