如何限制小数位数?

发布于 2024-09-08 11:28:39 字数 228 浏览 6 评论 0原文

可能的重复:
如何格式化小数

如何限制我的小数位数,以便我只能得到点后3位数字?

e.g  2.774

Possible Duplicate:
How to format a decimal

How can I limit my decimal number so I'll get only 3 digits after the point?

e.g  2.774

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

宣告ˉ结束 2024-09-15 11:28:39

Math.Round 方法(十进制,Int32)

示例:< /强>

Math.Round(3.44, 1); //Returns 3.4.

Math.Round Method (Decimal, Int32)

Example:

Math.Round(3.44, 1); //Returns 3.4.
月下凄凉 2024-09-15 11:28:39

我假设您真正的意思是对其进行格式化以进行输出:

Console.WriteLine("{0:0.###}", value);

I'm assuming you really mean formatting it for output:

Console.WriteLine("{0:0.###}", value);
深海里的那抹蓝 2024-09-15 11:28:39

要返回 Decimal,请使用 Math.Round 和指定小数位数的第二个参数。

decimal d = 54.9700M;    
decimal f = (Math.Round(d, 2)); // 54.97

要获取数字的字符串表示形式,请使用 .ToString() 将小数点指定为 N3。其中3是小数点

decimal d = 54.9700M;    
string s = number.ToString("N3"); // "54.97"

To get Decimal back use Math.Round with Second parameter specifying number of decimal points.

decimal d = 54.9700M;    
decimal f = (Math.Round(d, 2)); // 54.97

To Get String representation of number use .ToString() Specifiying Decimal Points as N3. Where 3 is the decimal points

decimal d = 54.9700M;    
string s = number.ToString("N3"); // "54.97"
波浪屿的海角声 2024-09-15 11:28:39

限制浮点数的精度是一个 SQL 概念。 csharp 中的小数仅意味着它将记住分配的精度。在分配之前,您可以四舍五入到小数点后三位。 IE,Math.Round()

Limiting the precision of a floating point number is a SQL concept. Decimal in csharp only means that it will remember the precision assigned. You can round to three decimal places before assigning. IE, Math.Round().

逆夏时光 2024-09-15 11:28:39

使用 Math.Round 将其四舍五入到小数点后 3 位。

Use Math.Round to round it to 3 decimal places.

疧_╮線 2024-09-15 11:28:39

我的答案的一部分是响应,另一部分只是一个有趣的点:

我经常希望将变量视为 prop/field。因此,创建一个扩展方法来解决我的问题:

Tensao 只是一个具有相关值的枚举。

    public static class TensaoExtensions {
        public static double TensaoNominal(this Tensao tensao) {
            return Math.Round((double.Parse(EnumMapper.Convert(typeof(Tensao),
                           tensao.ToString()))) * 1000 / Math.Sqrt(3), 3);
        }
    } 

Part of my answer is the response, another part is just a interesting point:

I often want to see the variable as a prop/field. So a create a extension method to solve my problem:

Tensao is just an Enum that have a value related.

    public static class TensaoExtensions {
        public static double TensaoNominal(this Tensao tensao) {
            return Math.Round((double.Parse(EnumMapper.Convert(typeof(Tensao),
                           tensao.ToString()))) * 1000 / Math.Sqrt(3), 3);
        }
    } 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文