🙂
JavaScript - 程式設計
  • JavaScript - 程式設計
  • 1. 簡介
    • 1.1 講者簡介
    • 1.2 課程簡介
    • 1.3 開發工具簡介
    • 1.4 第一個 JavaScript
  • 2. 網站技術簡介
    • 2.1 網站前端技術
    • 2.2 網站後端技術
    • 2.3 JavaScript 簡介
  • 3. JavaScript程式語言
    • 3.1 套用 JavaScript
    • 3.2 註解(Comment)
    • 3.3 變數(Variable)
    • 3.4 資料型態(Data Types)
    • 3.5 Strict 模式
    • 3.6 運算子(Operator)
    • 3.7 字串(String)
    • 3.8 數值(Number)
    • 3.9 陣列(Array)
    • 3.10 物件(Object)
    • 3.11 條件式(Conditional)
    • 3.12 迴圈(Loop)
    • 3.13 函式(Function)
    • 3.14 類別(Class)
    • 3.15 傳值呼叫、傳址呼叫
    • 3.16 變數可視範圍(scope)
    • 3.17 錯誤補捉(Errors)
    • 3.18 資料格式
  • 4. JavaScript常用函式及主題
    • 4.1 JSON
    • 4.2 時間間隔執行
    • 4.3 數學(Math)
    • 4.4 日期時間(Date)
    • 4.5 陣列迭代(Iteration)
    • 4.6 陣列排序(Sort)
    • 4.7 正規表達式(Regular Expression)
    • 4.8 效能測試
    • 4.9 this 關鍵字
  • 5. 參考資料
Powered by GitBook
On this page
  • 數值宣告
  • 指數
  • 數值、字串相加
  • NaN、Infinity、-Infinity
  • 數值常用函式
  • parseInt()
  • parseFloat()
  • toString()
  • toFixed()
  • isNaN()
  1. 3. JavaScript程式語言

3.8 數值(Number)

在 javascript/practice 資料夾下,建立 number.html 來練習。

數值宣告

var x = 100;
var y = 3.14; // 浮點數

var z = "100"; // 這是字串 "100",非數值。

要留意的是:數值不需要加雙引號或單引號,如果加上去的話,就會被視為字串。

指數

e = exponential (指數):

var x = 123e5;
var y = 123e-5;

console.log(x); // 12300000
console.log(y); // 0.00123

數值、字串相加

數值與數值相加,產生結果是數值;

數值與字串相加,會產生字串。

var x = 10;
var y = 20;
var z = "20";

console.log(x + y); // 30
console.log(x + z); // "1020"

隱含轉型:上述的 x + z,其實真的執行的會是先將「數值 x 」轉成「字串 x」,這個過程就是 隱含轉型,是瀏覽器預設會幫我們執行的事。所以最後會變成字串與字串相加,就變成 "1020"。

NaN、Infinity、-Infinity

NaN 是一個特殊的保留字,表示是「Not a Number」。

var x = 100 / "其它";
var y = 2 / 0;
var z = -2 / 0;

console.log(x); // NaN
console.log(y); // Infinity
Console.log(z); // -Infinity

數值常用函式

parseInt()

將字串數字轉成數值。例:

var x = "100";
var y = 200;

console.log(x + y);           // 100200
console.log(parseInt(x) + y); // 300

var z = parseInt(x);
console.log(z);               // 100
console.log(typeof z);        // number

如果是浮點數(小數),就會直接捨去小數部份:

var y = 100.9;
console.log( parseInt(y) ); // 100

parseFloat()

將字串數字轉成浮點數。如:

var x = "100.9";
var y = parseFloat(x);

console.log(y);        // 100.9
console.log(typeof y); // number

console.log(x + 10); // 100.910
console.log(y + 10); // 110.9

toString()

將數值轉成字串,例:

var x = 100;
var y = x.toString();

console.log(x);        // 100
console.log(typeof x); // number

console.log(y);        // "100"
console.log(typeof y); // string

toFixed()

指定四捨五入到小數點的第幾位,然後會回傳字串。例:

var x = 100.526;
var y = x.toFixed(0);

console.log(y);        // 101
console.log(typeof y); // string

console.log( x.toFixed(1) ); // 100.5
console.log( x.toFixed(2) ); // 100.53

示意圖:

var x = 100.5555;

console.log( x.toFixed(1) ); // 100.6
console.log( x.toFixed(2) ); // 100.56
console.log( x.toFixed(3) ); // 100.555 (怪!)

var x = 100.5545;
console.log( x.toFixed(3) ); // 100.555 (怪!)

var x = 100.55551;
console.log( x.toFixed(3) ); // 100.556 (怪!)

isNaN()

判斷某數數是不是「Not a Number」,即 NaN:

var x = 100 / "其它";

console.log(x);        // NaN
console.log(isNaN(x)); // true

Previous3.7 字串(String)Next3.9 陣列(Array)

Last updated 2 years ago

但其實有問題:(其實是)

四捨六入五成雙