JS の Math オブジェクトと toFixed メソッドの基本原理

目次

1. Math ライブラリの共通メソッドとプロパティ

1、数学PI

2. 丸め

1)、Math.ceil()

2)、数学の床()

3)、Math.round()

3、数学腹筋()

4、Math.sqrt()

5. Math.pow(基数、指数)

6. Math.max (複数の値) および Math.min (複数の値)

7、Math.random()

2. ランダムな整数の場合

1. 0 ~ 10 のランダムな整数 (10 を除く)

2. 0 ~ 10 のランダムな整数 (10 を含む)

3. 10~20のランダムな整数(20を除く)

4. 10 ~ 20 のランダムな整数 (10 を含む)

5.乱数(最大値を除く)を生成する関数をカプセル化する

6. 乱数(最大値を含む)を生成する関数をカプセル化する

3、toFixedの使用

4. toFixed の基本原理の実装


Math ライブラリと toFixed メソッドはどちらも、JS の数値 (Number) 型を操作します。

1. Math ライブラリの共通メソッドとプロパティ

数学の多くのメソッドは Math ライブラリに保存されています。このライブラリはブラウザに付属しているライブラリであり、手動で作成する必要はありません。

1、数学PI

この属性は円周率を保存するため、円周率をすぐに取得でき、これを使用して円の関連事項を計算できます。

2. 丸め

1)、Math.ceil()

小数であれば切り上げて元より大きい整数になります。

console.log(Math.ceil(3.1)) //4
console.log(Math.ceil(3.5)) //4

注: 小数点以下の桁数は15 を超えることはできません。15 を超えると無効になります。

2)、数学の床()

parseIntと同様に小数であれば切り捨て、いくら超えても小数部分が切り捨てられ、元より小さい整数になります。

console.log(Math.ceil(3.1)) //3
console.log(Math.ceil(3.5)) //3

3)、Math.round()

小数点は四捨五入されますが、小数点第 1 位のみが考慮されます。

console.log(Math.round(3.45)) //3

3、数学腹筋()

絶対値をとります。

console.log(Math.abs(-10)) //10

4、Math.sqrt()

平方根は算術平方根のみを取得できます。

console.log(Math.sqrt(25)) //5

5. Math.pow(基数、指数)

べき乗、指定された基数と指数に従って結果を計算します。

console.log(Math.pow(3,3)) //27

6. Math.max (複数の値) および Math.min (複数の値)

複数の値の中から最大値と最小値を見つけます。

console.log(Math.max(5,10,60,50)) //60
console.log(Math.min(5,10,60,50)) //5

ただし、配列パラメータの受け渡しはサポートされておらず、配列の最大値と最小値を比較します。

解決済み: Math.max/min.apply(Math,arr)

7、Math.random()

1 を除く、 0 ~ 1の間のランダムな 10 進数を生成します。

console.log(Math.random()) 

2. ランダムな整数の場合

1. 0 ~ 10 のランダムな整数 (10 を除く)

var res = Math.floor(Math.random() * 10);
console.log(res);

2. 0 ~ 10 のランダムな整数 (10 を含む)

var res=Math.floor(Math.random()*(10+1))
console.log(res)

3. 10~20のランダムな整数(20を除く)

var res = Math.floor(Math.random() * 10)+10;
console.log(res);

4. 10 ~ 20 のランダムな整数 (10 を含む)

var res = Math.floor(Math.random() * 11)+10;
console.log(res);

5.乱数(最大値を除く)を生成する関数をカプセル化する

function getRandom(min,max){
    if(min>max){
        console.error("参数有误")
        return
    }
    return Math.floor(Math.random()*(max-min))+min
}

6. 乱数(最大値を含む)を生成する関数をカプセル化する

function getRandom(min,max){
    if(min>max){
        console.error("参数有误")
        return
    }
    return Math.floor(Math.random()*(max-min+1))+min
}

3、toFixedの使用

toFixed の機能は、実行桁数の 10 進数を保持することであり、保持中に四捨五入されます。

使用: variable.toFixed(n)

var price=3.1415
console.log(price.toFixed(2)) //3.14

元の桁数が予約桁数より小さい場合は、自動的に0が埋められます。

var price2=123.4
console.log(price2.toFixed(2)) //123.40

注: toFixed の戻り値の型は [string] であるため、型変換後に計算できます。

4. toFixed の基本原理の実装

function tofixed(num, n) {
    // 要取多少位小数,先乘10的多少次方
    num *= Math.pow(10, n);
    // 再四舍五入取整,因为toFixed有四舍五入
    num = Math.round(num);
    // 再除以10的多少次方就是保留多少位的小数了
    num /= Math.pow(10, n);
    console.log(num);
    return num;
}
tofixed(Math.PI, 2);

Guess you like

Origin blog.csdn.net/txl2498459886/article/details/126670582