我试图格式化数字以更友好的方式显示。目前,代码很难更新,而且非常笨拙。将巨大的if else语句转换为Javascript中的循环
function abb(){
if(m>=1 && m<999){
gold_display = m;
}else if(m>999 && m<999999){
var b = (m/1000).toFixed(3);
gold_display = b+"k";
}else if (m>999999 && m<999999999){
var b = (m/1000000).toFixed(3);
gold_display = b+"m";
}else if (m>999999999 && m<999999999999){
var b = (m/1000000000).toFixed(3);
gold_display = b+"b";
}else if (m>999999999999 && m<99999999999999){
var b = (m/1000000000000).toFixed(3);
gold_display = b+"t";
}
}
编辑:这将是CODE:
function abb(){
if(m>=1 && m<1000){
gold_display = m;
}else if(m>999 && m<1000000){
var b = (m/1000).toFixed(3);
gold_display = b+"k";
}else if (m>999999 && m<1000000000){
var b = (m/1000000).toFixed(3);
gold_display = b+"m";
}else if (m>999999999 && m<1000000000000){
var b = (m/1000000000).toFixed(3);
gold_display = b+"b";
}else if (m>999999999999 && m<100000000000000){
var b = (m/1000000000000).toFixed(3);
gold_display = b+"t";
}
}
没错这就是akward的,但它是想出了在我的心里唯一的解决办法,有没有办法将它转换成一个循环,缩小代码?
我在考虑保存数组中的字母“k”,“m”,“b”,“t”,因为我想要更高一些的“q”,“qi”,“s”等。
感谢和抱歉,如果这个问题是有点笨:(
阵列最大/最小/除数,然后在它循环? –
请注意'if(x <10)... else if(x> 10)'不能识别case == x === 10' –
Thanks @PaulS。更新了上面的代码! –