在我下面的程序,避免垃圾零個值的雙變量
main
{
// value is 476
int value = 476;
// here dimension shows as 0.100000001
float dimension = 0.1f;
/// Here I am expecting value as 47.6,
/// But it gives value as 47.600002288818......
double result = value * dimension;
}
我想直接保存在數據庫中的值,那麼,有沒有inbuild函數來獲得預期的價值呢?
預期:47.6,而不是47.600002288 .....
如果您想知道爲什麼會發生這種情況:[浮點數學是否被破壞?](http://stackoverflow.com/q/588004/669576)。 –
在任何二進制浮點類型中不存在值「47.6」,只能得到近似值。你的數據庫類型是什麼? – hvd
瞭解每個程序員應該如何將浮點數存儲在內存中。 – DeiDei