Toggle navigation
首页
问答
IT问答
生活问答
电脑知识
百科
测评
怎么用JS格式化数字长度
发布于2021-12-29 18:42:08
5
个回答
网友回答
2021-12-29
获取整数的长度可以用以下几种方法实现:
1.调用toString方法转为字符串后取长度
1
2
var num = 123;
alert(num.toString().length);
2.隐式转字符串后取长度
1
2
var num = 123;
alert((num + '').length)
推荐第1种方法,简单高效
网友回答
2021-12-29
var number;
if(number.contain(.)){
number = number.split[0]+number.split('.')[1].subString(0,2);
}else{
number + = .00;
}
网友回答
2021-12-29
这个方法可以用。。
var str = 12,000;
str = str.replace(,,);
alert(str);
网友回答
2021-12-29
function f(s, n) { // 保留20位以内的小数位 n = n 0 && n = 20 ? n : 2; // 这里 +'' 的含义是把数字转化为字符串, 正则里面的 \. \- 表示小数点和负号 // 删除掉s中非数字小数点或负号的字符 s = parseFloat((s + ).replace(/[^\d\.-]/g, )).toFixed(n) + ; // split('.') 作用以小数点把数字拆分为整数部分和小数部分 // l 是浮点数的左边部分也就是整数部分,r 为小数部分 // 比如 s = -123456.789; s.split('.') = ['-123456', '789'] // split('') 作用是将字符串拆分为单个字符的数组 // '-123456.789'.split('.')[0].split('') = ['-','1','2','3','4','5','6'] // .reverse() 颠倒顺序 ['-','1','2','3','4','5','6'].reverse() = ['6','5','4','3','2','1','-'] var l = s.split(.)[0].split().reverse(), r = s.split(.)[1]; // '789' // .indexOf() 判断字符串中是否包含某个字符串, 如果不包含则返回-1 // 此处判断数字中是否有负号 有负号就说明整数部分数字的长度要减一 // 上例 l.length = 7 但是有负号 所以 len = 6 var len = (s.indexOf(-) != -1) ? l.length - 1 : l.length; t = ; // for (i = 0; i len; i++) { // l = ['6','5','4','3','2','1','-'] // 此处通过对 i + 1 做余数运算来判断插入逗号的位置 // (i + 1) % 3 == 0 每三位插入一个逗号 // (i + 1) != len 数字最开头不用打逗号 // 结果:t = '654,321' t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != len ? , : ); //没看懂呀 并且这两个条件 举个例子 } // 有负号就在开头加上负号 // 然后把顺序颠倒回来 把小数部分连接回来 // '-123,456.789' return ((s.indexOf(-) != -1) ? - : ) + t.split().reverse().join() + . + r; //这个返回 举个例子 没懂呀}
网友回答
2021-12-29
function(s, n){ n = n 0 && n = 20 ? n : 2; //n大于20则记为2 s = parseFloat((s + ).replace(/[^\d\.-]/g, )).toFixed(n) + ; //parseFloat((s + ).replace(/[^\d\.-]/g, )).toFixed(n) 这部分是将s去除掉非小数点非数字非减号的部分,然后按照n位小数输出. //\.是一个整体,表示真实的小数点,\.-没意义,只是正好\.和-在一起了, 这里的-其实表示的是负号 //两处+都是表示强制转换为字符串 var l = s.split(.)[0].split().reverse(), //后面写[0]是第一个数为什么又split(). //s.split(.)[0] 取出小数点前面的部分, //.split() 将取出的字符串转成数组 //reverse()将数组逆序排列 r = s.split(.)[1]; //没懂呀 //取出s小数点后面的部分, 在前面增加一个var 更好些 var len = (s.indexOf(-) != -1) ? l.length - 1 : l.length;//怎么考虑的 !=-1 为真 又要长度-1 ;否则是原有的长度 //这句的意思是,如果数字以负号开头,则l的长度少算一个. //另一种表述方式可以是 var len = (s[0] == -) ? (l.length-1) : l.length; t = ; //这里貌似少了一个var for(i = 0; i len; i++ ){ t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != len ? , : ); //没看懂呀 并且这两个条件 举个例子 //三目运算符不解释,目的是判断要不要增加一个逗号 //判断条件有两个,需同时成立 //(i + 1) % 3 == 0 表示是否是3的倍数,也就是说是不是该写逗号了 //(i + 1) != len 表示不是最后一个,意思是最后的位置即使正好是3的倍数了也不需要写逗号 } return ((s.indexOf(-) != -1) ? - : ) + t.split().reverse().join() + . + r; //这个返回 举个例子 没懂呀 //(s.indexOf(-) != -1) ? - : ) 写不写负号 //t.split().reverse().join() 将t反转一遍,利用的是数组的逆序排列方法,所以字符串转数字,逆序排列,然后数组转字符串 //. + r 拼装小数点后面的部分}
IT问答最新文章
1
新买的苹果手机如何查询是否有被激活过
2
明基U101本本不带光驱,要怎么重装系统?
3
我的英雄联盟里标记键G为何按不了,求高手解!
4
以前的QQ号码忘记了,肿么找回啊。注册的密码什么都不记得的了
5
小米联接电脑怎么在我的电脑看不到小米文件夹
6
夏普笔记本如何搜索无线陆由的信号
7
sharp笔记本电脑换主板需要多少钱
8
这是夏普笔记本么?如果是型号是多少啊?
9
夏普笔记本怎么重装系统?请大虾指点.
10
我想问一下济南科技市场有夏普笔记本专柜吗?到专柜上重装一下系统要花多少钱呢?
相关阅读
1
怎么用JS格式化数字长度
2
死亡岛最终版steam版怎样设置中文 死亡岛
3
职业院校有哪些专业比较热门啊?
回到
顶部