国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

給一個數(shù)值加千位分隔號

lunaticf / 1770人閱讀

摘要:遞歸思路是在小數(shù)點前數(shù)位數(shù)如果沒有小數(shù)點則以最后一位計算,添加,遞歸,在第一個逗號前數(shù)位再添加。

想要的效果:
123456789.123 --> 123,456,789.123
直接貼代碼:

function splitK(num) {
  var decimal = num.split(".")[1] || "";//小數(shù)部分
  var tempArr = [];
  var revNumArr = num.split(".")[0].split("").reverse();//倒序
  for (i in revNumArr){
    tempArr.push(revNumArr[i]);
    if((i+1)%3 === 0 && i != revNumArr.length-1){
      tempArr.push(",");
    }
  }
  var zs = tempArr.reverse().join("");//整數(shù)部分
  return decimal?zs+"."+decimal:zs;
}
var num = "123456789.123";
console.log(splitK(num));
//輸出:123,456,789.123
    

思路很簡單:
先分離出小數(shù)部分;
對整數(shù)部分逆序為數(shù)組;
每三個數(shù)字插入一個逗號,如果是3的倍數(shù)位則最后一個不插入;
再逆序回來,拼接小數(shù)部分(如果有的話)。

遞歸:

function splitK(num) {
    var temp = num;
    var i = ((num.indexOf(",")>0)?num.indexOf(","):num.indexOf("."));
    i = (i<0)?(num.length-3):(i-3);
    num = num.substring(0,i)+","+num.substring(i);
    if(i<1){return temp;}else {return splitK(num);}
}

var num = "123456789.123";
console.log(splitK(num));

思路是:在小數(shù)點前數(shù)3位數(shù)(如果沒有小數(shù)點則以最后一位計算),添加",",遞歸,在第一個逗號前數(shù)3位再添加","

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/79947.html

相關(guān)文章

  • 原生js之千位分隔符(包括小數(shù)情況)

    摘要:同學(xué)前端面試遇到這么一個題目給數(shù)字添加千分位分隔符一拿到他給的面試題,感覺挺容易的,不過等自己寫后發(fā)現(xiàn)非常考慮邏輯,以及思維能力我是小白上網(wǎng)百度了一波全是用正則表達(dá)式來解決的,正則這塊我只懂皮毛,所以感覺有點看不明白,不過這個博客解釋挺清楚 同學(xué)前端面試遇到這么一個題目 :給數(shù)字添加千分位分隔符 一拿到他給的面試題,感覺挺容易的,不過等自己寫后發(fā)現(xiàn)非常考慮邏輯,以及思維能力(我是小白)...

    msup 評論0 收藏0
  • 數(shù)字的千位分隔符實現(xiàn)

    摘要:常常見到這種場景,數(shù)字比較大時每隔位用逗號分隔開思路就是如果是小數(shù)的話先用分開得到整數(shù)部分,然后反轉(zhuǎn)整數(shù)部分的字符串用正則每個數(shù)字加一個逗號然后再反轉(zhuǎn)回去拼接上小數(shù)部分。 常常見到這種場景,數(shù)字比較大時每隔3位用逗號分隔開 思路就是如果是小數(shù)的話先用split分開得到整數(shù)部分,然后反轉(zhuǎn)整數(shù)部分的字符串用正則每3個數(shù)字加一個逗號然后再反轉(zhuǎn)回去拼接上小數(shù)部分。 在網(wǎng)上看到了一種實現(xiàn)代碼,這...

    ssshooter 評論0 收藏0
  • js實現(xiàn)千位分隔

    function commafy(num) { num = num + ; var reg = /(-?d+)(d{3})/; if(reg.test(num)){ num = num.replace(reg, $1,$2); } return num; } commafy(1234);

    NeverSayNever 評論0 收藏0
  • Java? 教程(掃描)

    掃描 編程I/O通常涉及轉(zhuǎn)換人們喜歡使用的整齊格式的數(shù)據(jù),為了幫助你完成這些工作,Java平臺提供了兩個API,掃描器API將輸入分解為與數(shù)據(jù)位相關(guān)聯(lián)的單個標(biāo)記,格式化API將數(shù)據(jù)組裝成格式良好、可讀的形式。 Scanner類型的對象對于將格式化輸入分解為標(biāo)記并根據(jù)其數(shù)據(jù)類型轉(zhuǎn)換單個標(biāo)記非常有用。 將輸入分解為標(biāo)記 默認(rèn)情況下,掃描器使用空格分隔標(biāo)記(空格字符包括空格、制表符和行終止符,有關(guān)完整列...

    dantezhao 評論0 收藏0
  • [PHP源碼閱讀]number_format函數(shù)

    摘要:上次講到是如何解析大整數(shù)的,一筆帶過了的處理,再詳細(xì)閱讀該函數(shù)的源碼,以下是小分析。總結(jié)閱讀完這個函數(shù)的源碼,學(xué)習(xí)到的是浮動數(shù)與字符串的互相轉(zhuǎn)換的實現(xiàn)細(xì)節(jié),字符串與浮點數(shù)之間的關(guān)系較復(fù)雜,之后還要繼續(xù)學(xué)習(xí)。 上次講到PHP是如何解析大整數(shù)的,一筆帶過了number_format的處理,再詳細(xì)閱讀該函數(shù)的源碼,以下是小分析。 函數(shù)原型 string number_format ( flo...

    itvincent 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<