すみません、教えてください。
floatの変数を小数点以下n桁で切り捨てるにはどうすればいいのでしょうか?
今はn桁繰り上げてintにキャストしてまたfloatに戻してn桁繰り下げ、という
ことをしてるんですが、もっと効率がいい方法ってないでしょうか?

float round(float value, int digit)
{
  int temp;
  temp = (int)(value * pow(10, digit));
  return ((float)temp) / pow(10, digit);
}