iT邦幫忙

2022 iThome 鐵人賽

0
自我挑戰組

JS 基礎學習及解題訓練系列 第 9

基本JavaScript Methods of Number object - toFixed(), toExponential() and toPrecision()

  • 分享至 

  • xImage
  •  

首先要先搞懂這三個有什麼差別跟如何使用?
toFixed(), toExponential() and toPrecision()這三個回傳的都是字串,
toFixed():可把 Number 四舍五入為指定小數位數的數字。
toExponential():可把對象的值轉換成指數計數法。寫法:3.54e3,
在電腦或計算機中一般用 e 來代表指數 後面接數字,可為正數或負數。
toPrecision():是以多少位的有效數字來表示,該值可能會回傳固定大小(fixed)格式,也可能回傳指数(exponential)格式,會根據數值决定回傳的值,例如:

let num = 98.73;
num.toPrecision(0); // RangeError: toPrecision() argument must be between 1 and 100
num.toPrecision(1); // '1e+2'
'1e+2' // 100
num.toPrecision(2); // '99'
num.toPrecision(3); // '98.7'
num.toPrecision(4); // '98.73'
num.toPrecision(5); // '98.730'

今天的題目:

Coding in function howManySmaller, function accept 2 parameter:arr and n. arr is a decimal array. n is a decimal.

The first mission: let all elements in the array keep two decimal places(No need to convert number n).

The second mission: Traversal arr, count the number of the element which smaller than n and return it.

for example:

howManySmaller([1.234,1.235,1.228],1.24) should return 2
howManySmaller([1.1888,1.1868,1.1838],1.19) should return 1
howManySmaller([3.1288,3.1212,3.1205],3.1212) should return 2

簡單來說,就是要先把arr的數字取到小數點兩位,再跟n比較,比n小的數字有幾個?
下面是我的解法:

function howManySmaller(arr,n){
  let count = 0;
  for(let i in arr){
    if(arr[i].toFixed(2) < n){
      count++
    }
  }
  return count
}

用迴圈來檢查每一個數字,若比n小,count++


上一篇
基本JavaScript Methods of Number object - Training JS #14: toString() and toLocaleString()
系列文
JS 基礎學習及解題訓練9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言