2020年4月5日 星期日

[小技巧]0.1+0.2==0.3的快速解法

最近在製作程式考題,出了一個0.1+0.2==0.3的題目。
這是很常見的程式考題,
題目可能會問如何回傳正確的數字,當0.1+0.2後,結果會是0.30000000000000004的數字,所以0.1+0.2==0.3會回傳false。

怎麼快速解這題呢,只要把它變成整數就可以了。
範例:
let a=0.1,b=0.2;
answer=(a*10+b*10)/10;

程式的意思是,先將0.1和0.2轉成1和2,相加後會變成3,之後再除上之前乘上的數字變0.3,就能回傳正確的數字。

同理:
0.24+0.42會回傳0.6599999999999999。
故只要將10改成100:
let a=0.24,b=0.42;
answer=(a*100+b*100)/100;

就能回傳正確的數字:0.66

沒有留言:

張貼留言

有興趣或有疑問的歡迎提問與交流喔!!!