/ 面試題013 如何實現兩金額數據相加(最多小數點兩位)?
——阿里巴巴出題專家:御術/螞蟻金服數據可視化高級技術專家
參考答案
其實問題並不難,就是考察候選人對 JavaScript 數據運算上的認知以及考慮問題的縝密程度,有不少坑,能夠用在筆試題,若是用在面試,回答過程當中還能夠隨機加入有不少計算機基礎的延伸。
回到這個問題,因爲直接浮點相 yu 加會失精,因此要轉整數;(能夠插入問遇到過嗎?是否能夠舉個例子?)。
轉整數是第一個坑,雖然只有兩位能夠經過乘以100轉整數,但因爲乘以一百和除以一百都會出現浮點數的運算,因此也會失精,仍是要經過字符串來轉;(能夠插入問字符串轉整數有幾種方式?)
字符串轉整是第二個坑,由於最後要對齊計算,若是沒考慮周全先 toFixed(2),對於只有一位小數點數據進入計算就會錯誤;轉整數後的計算是個加分點,不少同窗每每就是直接算了,若是能夠考慮大數計算的場景,恭喜同窗進入隱藏關卡,這就會涉及如何有效循環、遍歷、算法複雜度的問題。面試