当前位置:首页 > 开发 > C# > 正文内容

C# double转为string并保留两位小数

C#4个月前 (12-23)

在 C# 中,可以使用多种方式将 double 类型的数据转换为 string 类型并保留两位小数,以下是几种常见的方法示例:

方法一:使用 ToString("F2") 方法

这是最直接简便的方式,"F2" 是格式化字符串,指定了按照固定点格式(即带有小数点的形式)并保留两位小数来进行格式化。

class Program
{
    static void Main()
    {
        double num = 3.1415926;
        string str = num.ToString("F2");
        Console.WriteLine(str);
    }
}

在上述代码中,定义了一个 double 类型的变量 num,然后直接调用其 ToString 方法并传入 "F2" 格式化字符串,将转换后的 string 结果赋值给 str 变量,最后输出 str,此时输出的内容就是 3.14,实现了将 double 转换为保留两位小数的 string 类型。

方法二:使用 string.Format 方法

通过 string.Format 函数结合格式化字符串也可以达到同样的效果,它的好处是在需要拼接多个字符串和格式化多个变量时更加方便灵活。

class Program
{
    static void Main()
    {
        double num = 3.1415926;
        string str = string.Format("{0:F2}", num);
        Console.WriteLine(str);
    }
}

这里的 {0:F2} 表示对传入的第一个参数(也就是 num 变量对应的 double 值)按照保留两位小数的固定点格式进行格式化,然后将格式化后的结果赋值给 str 变量并输出,同样会得到 3.14。

方法三:使用 StringBuilder 结合 Math.Round 方法(稍复杂些,但在一些特定场景有用)

如果希望手动控制格式化过程,比如在一些复杂的字符串构建场景中,可以先使用 Math.Round 对 double 值进行四舍五入保留两位小数的处理,再通过 StringBuilder(常用于高效构建字符串)将其转换为字符串。

using System.Text;

class Program
{
    static void Main()
    {
        double num = 3.1415926;
        double roundedNum = Math.Round(num, 2);
        StringBuilder sb = new StringBuilder();
        sb.Append(roundedNum);
        string str = sb.ToString();
        Console.WriteLine(str);
    }
}

在这个示例中:

首先使用 Math.Round 函数对 double 变量 num 进行四舍五入,传入第二个参数 2 表示保留两位小数,得到 roundedNum 变量。

接着创建一个 StringBuilder 对象 sb,并使用 Append 方法将 roundedNum 添加进去。

最后调用 sb 的 ToString 方法将其转换为字符串赋值给 str 变量并输出,结果同样是 3.14。

这些方法都可以根据实际的代码场景和需求来灵活选用,以实现将 double 类型数据转换为保留两位小数的 string 类型的目的。


转载请注明出处。

本文链接:http://www.pythonopen.com/?id=1622

相关文章

C# 字节与字符转换

字节转字符     Console.WriteLine(Conve...

C# [OnPaint]和[OnPaintBackground]的区别

OnPaint和OnPaintBackground的主要功能区别OnPaint:OnPaint方法主...

C# BackgroundWorker的例子

以下是一个使用 BackgroundWorker 组件在 C# 中实现后台执行任务,同时在主线程更新...

c# Invalidate、Refresh、Refreshitem、Refreshitems的功能

Invalidate方法功能概述Invalidate方法主要用于使控件的特定区域(整个控件或部分区域...

C# i++和++i的区别

核心区别操作顺序            ...