有一個需求是這樣的:
有一個欄位使用者輸入的資料內容差異非常大,但是又要求非常精確。之所以差異會非常大,是因為不同使用者使用不同單位當作標準,例如:使用公斤當作單位時,有時候要處理公克的資料,所以就必須加入0.001 (kg)這樣的資料,但是有些使用者只會處理很大單位的資料,他們都資料永遠不會有小數點。

為了處理這些差異極大的資料,後端資料庫開的資料欄位格式不管有沒有小數點統一會有六位數。所以可能會有65.000000、1.234000或66.666666這樣的資料送過來,但是如果明明是65,顯示65.000000給使用者看顯然是相當愚蠢的行為。

因此我們要做的是,如果去除小數點後多餘的零
於是我在網路上找到一個還蠻不錯的辦法,跟我原本想要做的事情差不多,但是他用的方法比我還要簡潔

 //  判斷數字是否有小數點
 if (value.indexOf(".") > -1) {
    //拆解字串,格式為: 整數.小數
    var arr = value.split(".");
    var $int = arr[0];
    var $dec = arr[1];
    // 將小數點 ,右邊的0去除
    var $dec = arr[1].replace(/0+$/, '');
    if ($dec == '') {
        value = $int.trim();
        return
    }
    value = $int.trim() + '.' + $dec.trim(); //重組格式 ,並返回
}

總而言之就是把一個數字拆分成整數和小數兩個部分。然後梳理小數的部分之後,再重組回去成為一個新的數字。
最重要就是梳理小數的部分,這個部份現在還沒有很明白,之後有時間可以來研究一下。

PS:還有另外一個方法真是讓我驚呆了,後端的同事淡然地跟我說其實處理這種東西只要一行就夠了

Number(x)

ex:

Number(9.487000) //9.487

只要把數字方進去,就會自動轉為需求所要的結果了ORZ,果然身邊到處有高人阿

參考網站:
[JavaScript] 去掉小數點的零