[英]Why my precision getting loss while converting double to float in c#?
我在 c# 中具有雙值作為10293.01416015625並且我正在嘗試轉換為浮點數。 由於 float 只有 24 位,我想得到的結果為10293.0141 。 但我得到的價值是10293.0137
double value = 10293.01416015625;
float converted = (float)value;
預期值- 10293.0141
正在獲得的價值- 10293.0137
提前致謝
單個值具有最多 7 位十進制數字的精度,盡管內部維護最多 9 位數字。
您的結果最多為 7 位有效數字 (10293.01)。 您不應該期望通過float
獲得更多。
最接近 10293.01416015625 的float
的確切值是 10293.013671875 和 10293.0146484375。 兩者都與您嘗試表示的值相差 0.00048828125。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.