搜尋此網誌

2020年6月25日 星期四

【Javascript】基本語法

ref:
JavaScript 語法
js取float型小數點後兩位數的方法

Javascript取小數點後2位數作四捨五入

  • 丟棄小數部分,保留整數部分
    • parseInt(5/2)
  • 向上取整,有小數就整數部分加1
    • Math.ceil(5/2)
  • 四捨五入
    • Math.round(5/2)
  • 向下取整
    • Math.floor(5/2)

  • 正規表示式
    var a = "23.456322";
    var aNew;
    var re = /([0-9] .[0-9]{2})[0-9]*/;
    aNew = a.replace(re,"$1");
    alert(aNew);

  • 聰明解法
    var num = 22.127456;
    alert(Math.round(num * 100) / 100);
  • 強制保留2位小數(將浮點數四捨五入,取小數點後2位,如果不足2位則補0。)
function changeTwoDecimal_f(x) {
    var f_x = parseFloat(x);
    if (isNaN(f_x)) {
        alert("function:changeTwoDecimal->parameter error");
        return false;
    }
    var f_x = Math.round(x * 100) / 100;
    var s_x = f_x.toString();
    var pos_decimal = s_x.indexOf(".");
    if (pos_decimal < 0) {
        pos_decimal = s_x.length;
        s_x = ".";
    }
    while (s_x.length <= pos_decimal) {
        s_x = "0";
    }
    return s_x;
}

數字相加

  • 把字串轉為數字再相加
    var ans1and2ab;
    a = 10;
    b = 5;
    ans1 = a + b//ans1 = 105;
    ans2 = parseInt(a) + parseInt(b//ans2 = 15;

舉例:將Jun 09 2011 00:00:00 GMT+0530轉換成2011/06/08

function convert(str) {
    var date = new Date(str),
        mnth = ("0" + (date.getMonth() + 1)).slice(-2),
        day = ("0" + date.getDate()).slice(-2);
    return [date.getFullYear(), mnthday].join("/");
}
  • 789
  • 101112


沒有留言: