[英]Math.Log and round number
var result = Math.Log(1000, 10);
var diff = result - 3;
diff
約為-4x10^-16
。
據我了解,確切的值3可以存儲為雙精度:
3 (base 10) = 1.1x10^1 (base 2)
我錯了嗎?或者這意味着Math.Log是不精確的,至少對於值1000而言是不正確的?
我建議在這種情況下使用Math.Log10
var result1 = Math.Log(1000, 10); //result1: 2.9999999999999996
var result2 = Math.Log10(1000); //result2: 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.