【发布时间】:2013-04-15 14:01:30
【问题描述】:
我有一个十进制数:
decimal a = 0.8537056986486486486486486486;
我想将它显示为字符串,点后只有 8 位: 一个等于->“0.85370569”。 我该怎么做 ?
【问题讨论】:
我有一个十进制数:
decimal a = 0.8537056986486486486486486486;
我想将它显示为字符串,点后只有 8 位: 一个等于->“0.85370569”。 我该怎么做 ?
【问题讨论】:
例如,像这样:
a.ToString("0.00000000");
【讨论】:
要以数字方式执行此操作,您可以使用:
decimal a = (decimal) 0.8537056986486486486486486486;
String test = (Math.Truncate(100000000 * a) / 100000000).ToString();
【讨论】:
decimal a = 0.8537056986486486486486486486;
var v= a.ToString("#.########");
【讨论】:
尝试使用
a.ToString("D8");
这应该将其转换为正确的格式。
编辑:
正如 cmets 中所说,D 仅用于整数类型,因此不适用于小数等。 使用
static void Main(string[] args)
{
decimal d = (decimal)0.8537056986486486486486486486;
Console.WriteLine(d.ToString("N8"));
Console.ReadLine();
}
改为。
这会将其格式化为0.85370570
【讨论】:
a.ToString("N8");,但我不确定...
decimal 类型一起使用,但它会引发异常:“格式说明符无效。”