JavaScript >> Javascript 文檔 >  >> JavaScript

如何在 JavaScript 中設置浮點精度

在 JavaScript 中設置浮點精度

JavaScript 中的浮點數具有極高的精度,而您並不總是需要這種精度。此外 - 您的用戶更不可能想要它。通常情況下,我們希望通過為最終用戶設置特定精度(例如,兩位小數)來“修剪”浮點數。

Number object 有幾個方法可以讓我們在 JavaScript 中改變浮點數的精度!

toFixed()

toFixed()Number 用於將數字轉換為定點表示法的方法(必要時將結果四捨五入 ) 並將值作為字符串返回:

number.toFixed([decimalPlaces]);

decimalPlaces 是可選的,定義小數點後應該出現的位數,默認為 0

let number = 12345.6789
  
console.log(number.toFixed())       // Returns '12346': note rounding, no fractional part
console.log(number.toFixed(1))      // Returns '12345.7': note rounding
console.log(number.toFixed(6))      // Returns '12345.678900': note added zeros
console.log((1.23e+20).toFixed(3))  // Returns '123000000000000000000.000'

如果浮點數沒有提供精確到您要格式化的定點 - 0 將作為填充添加到末尾。

toPrecision()

toPrecision()Number 將數字格式化為精度字符串的方法 - 跟踪顯示數字的總位數(包括小數點左右的位數):

number.toPrecision([significantDigits]);

significantDigits 是可選的,表示要在結果中顯示的有效位數。如果省略,該方法只是將數字轉換為字符串。

let number = 5.123456
  
console.log(number.toPrecision())    // logs '5.123456'
console.log(number.toPrecision(5))   // logs '5.1235'
  
number = 0.000123
  
console.log(number.toPrecision())    // logs '0.000123'
console.log(number.toPrecision(5))   // logs '0.00012300'

返回值為 string 類型:

console.log(typeof number.toPrecision()) // string

注意: toPrecision() 如果沒有足夠的有效數字,該方法將用 0 填充結果值,並且它不會更改原始數字的值 - 它返回一個新結果。

toExponential()

toExponential() JavaScript 中的函數用於以指數表示法(有時稱為科學表示法 ),即使數字在 JavaScript 通常使用標準符號的範圍內:

number.toExponential([fractionalDigits]);

免費電子書:Git Essentials

查看我們的 Git 學習實踐指南,其中包含最佳實踐、行業認可的標準以及隨附的備忘單。停止谷歌搜索 Git 命令並真正學習 它!

注意: 值得注意的是,對於足夠小和足夠大的數字 - JavaScript 會自動以指數符號顯示它們。

fractionalDigits 作為參數是可選的 ,並指定要在結果中顯示的小數位數。如果缺少此參數,則輸出最多可能包含 16 個小數位,具體取決於您的瀏覽器:

let number = 95.3434;
  
console.log(number.toExponential());  // 9.53434e+1
console.log(number.toExponential(4)); // 9.5343e+1
console.log(number.toExponential(2)); // 9.53e+1
console.log(95.3434.toExponential()); // 9.53434e+1

注意: toExponential() 方法不會改變原始數字的值 - 它返回一個要存儲的新值。

結論

在這個簡短的教程中,我們介紹了在 JavaScript 中設置浮點數精度的過程,使用 toExponential() , toFixed()toPrecision() Number 的方法 對象。


Tutorial JavaScript 教程
  1. JS Firebase 數據庫錯誤 db.ref 不是函數

  2. 帶暗模式的簡單計算器

  3. JavaScript 中的歷史對象 | API

  4. 遊戲化! - 命名函數與箭頭函數的遊戲化方法

  5. 關於 JSX 你應該知道的 9 件事

  6. [更新] 在 Tailwindcss 中使用 Svelte - 一種更好的方法

  7. NgRx 的最佳實踐:第 1 部分:簡介

  1. 如何降低嵌套 if 的認知複雜度

  2. WebPack:第 2 部分

  3. 單擊時顯示/隱藏圖像

  4. 引入響應式 React 組件🔥

  5. 如何使用 Express 和 PassportJS 創建註冊和身份驗證

  6. 在javascript中將iso日期轉換為毫秒

  7. 將參數傳遞給 StimulusJS 控制器

  1. 在 React 中使用 Google Maps API

  2. 在為生產進行構建之前要做的 5 件事。 (反應 JS)

  3. 代碼和 Scrum 100 天的第 94 天:遷移到 MySQL

  4. 在 React 中創建項目