我應該把值減少到int和float部分。像'21' - 想要得到'2'和'1'作爲整數。C++ modff錯誤
float fp; // float part
float fp1; // new "int-style" float part
float ip; // int part
fp = modff(21.0/10, &ip);
ip = ip*10; // there i will get the '2'. Its works fine
fp1 = fp*10; // there i will get a null (0.09999999 by debugger,
but should to be 0.99+)...
但與其他任何價值, '22',例如, 它會奏效。 也可以。怎麼了? :(
好像該函數不會像單元
============================== ====
是啊很容易修正!:)我用'modf'而不是'modff'。它具有「雙」的數據類型,所以它現在正常工作)
感謝您的答案
'21'沒有小數部分。它會給出'21'整數部分和'0'小數部分。我不明白你的問題。 – interjay
interjay>我不想讓'21'成爲'2'和'1'。在休息之前,我已將'21'轉換爲'2.1'。 對不起,我的錯。忘記了'21 .0/10' – FireForce
請發佈一些你已經測試**的代碼,並說出它輸出的內容和你的期望。你顯然沒有測試這裏發佈的代碼,因爲你不斷修改它來修復錯誤。 – interjay