我試圖格式化數字以更友好的方式顯示。目前,代碼很難更新,而且非常笨拙。將巨大的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。更新了上面的代碼! –