10

たとえば、四捨五入せずに、c の値を小数点以下 2 桁まで出力したいとします。

お気に入り:

a = 91.827345;
printf("%.2f", a);

91.83出力しますが、出力のみにしたいです91.82。どうやってするの?

4

2 に答える 2

3

より短くより速いアプローチをお勧めします:

printf("%.2f", ((signed long)(fVal * 100) * 0.01f));

この方法では、int をオーバーフローすることはありません。また、実際に変化しているのは指数だけであるため、100 を掛けても仮数/仮数自体に影響を与えることはありません。

于 2013-10-24T14:37:34.897 に答える