aha*_*ron 18 .net c# floating-point rounding
可能重复:
如何格式化小数
我怎样才能限制我的十进制数,所以我只得到点数后的3位数?
e.g 2.774
Run Code Online (Sandbox Code Playgroud)
Pra*_*ana 46
例:
Math.Round(3.44, 1); //Returns 3.4.
Run Code Online (Sandbox Code Playgroud)
Mat*_*hen 12
我假设你真的是要为输出格式化它:
Console.WriteLine("{0:0.###}", value);
Run Code Online (Sandbox Code Playgroud)
要获得 Decimal,请Math.Round与指定小数点数的 Second 参数一起使用。
decimal d = 54.9700M;
decimal f = (Math.Round(d, 2)); // 54.97
Run Code Online (Sandbox Code Playgroud)
要获取数字的字符串表示,请使用.ToString()将小数点指定为 N3。其中3是小数点
decimal d = 54.9700M;
string s = number.ToString("N3"); // "54.97"
Run Code Online (Sandbox Code Playgroud)