2

我有一个十进制数:

decimal a = 0.8537056986486486486486486486;

我想将它显示为点后只有 8 位数字的字符串:a 等于 ->“0.85370569”。我该怎么做 ?

4

4 回答 4

1

例如,像这样:

a.ToString("0.00000000");
于 2013-04-15T14:03:57.927 回答
0
 decimal a = 0.8537056986486486486486486486;    
 var v=  a.ToString("#.########");
于 2013-04-15T14:08:09.113 回答
0

尝试使用

a.ToString("D8");

这应该将其转换为正确的格式。

编辑:

正如评论中所说, D 仅用于整数类型,因此不适用于小数等。利用

static void Main(string[] args)
{
    decimal d = (decimal)0.8537056986486486486486486486;
    Console.WriteLine(d.ToString("N8"));
    Console.ReadLine();
}

反而。

这会将其格式化为0.85370570

于 2013-04-15T14:06:29.560 回答
0

要以数字方式执行此操作,您可以使用:

decimal a = (decimal) 0.8537056986486486486486486486;
String test = (Math.Truncate(100000000 * a) / 100000000).ToString();
于 2013-04-15T14:11:04.517 回答