2

私のシナリオは、もし

47/15= 3.13333

私はそれを4に変換したい、結果が10進数の場合、結果を1増やしたい、今私はこのようにやっています

        float res = ((float)(62-15) / 15);
        if (res.ToString().Contains("."))
        {
             string digit=res.ToString().Substring(0, res.ToString().IndexOf('.'));
             int incrementDigit=Convert.ToInt16(k) + 1;


        }

文字列関数を実装せずにこれをすばやく実行できるように、C#にショートカットの方法または組み込み関数があることを知りたいです。

どうもありがとう。

4

5 に答える 5

9

整数除算を実行したいのですが、常に切り上げますか? 私はあなたが欲しいと思う:

public static int DivideByFifteenRoundingUp(int value) {
    return (value + 14) / 15;
}

これにより、浮動小数点演算の使用がまったく回避されます。整数演算はゼロに向かって切り捨てられるため、正確に 15 の倍数ではない値を切り上げることができます。

これは負の入力に対しては機能しないことに注意してください。たとえば、-15 を渡した場合、これは 0 を返します。これは次のように修正できます。

public static int DivideByFifteenRoundingUp(int value) {
    return value < 0 ? value / 15 : (value + 14) / 15;
}
于 2013-05-10T12:21:41.350 に答える
5

Math.Ceiling引用MSDNを使用:

指定された 10 進数以上の最小の整数値を返します。

于 2013-05-10T12:21:24.693 に答える