C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 151 を表示中)
■87950 / )  Re[1]: 有効数字で切り上げるには?
□投稿者/ サメ (1回)-(2018/07/18(Wed) 20:22:21)
No87947 (なっとう さん) に返信

実質2行なので十分簡潔だと思いますよ。
処理はExcelのMROUNDみたいな感じですね。
MROUNDは指定した倍数で丸めるものですが
それの切り上げバージョン。

MROUNDを模倣するならこうなりますけど
長くなるだけですね。

static void Main(string[] args)
{
    double n = 99.000000000001;
    int digit = ((int)Math.Log10(n) + 1);
    System.Diagnostics.Debug.WriteLine(MCeiling(n, Math.Pow(10, digit - 2)));
}

static double MCeiling(double number, double multiple)
{
    return Math.Ceiling(number / multiple) * multiple;
}

返信 編集キー/


管理者用

- Child Tree -