キャストについての質問です

printf("%d",(int)(2.014*1000));
結果>>2013

上記のように
2.014 * 1000 をint型でキャストすると
2013になってしまいます。
2.013 * 1000 はちゃんと2013なのにー

何か綺麗な解決方法あるでしょうか。おねがいします
環境はGCCです。