要打印的小数位数的站点全局规则

时间:2013-12-16 08:04:40

标签: c# asp.net decimal

出于显示目的,是否可以为小数分隔符ASP.NET MVC 4后显示的位数设置站点全局规则?如果是这样,人们如何实现这一目标?

最佳方法是web.config中指定的与文化相关的规则,它会影响所有打印的小数。

2 个答案:

答案 0 :(得分:0)

根据这个答案,Adjusting decimal precision, .net显示的位数取决于您首先输入的内容。

我的猜测是,你问的是如何简单地舍入小数?在这种情况下,您可以使用Math.Round。

据我所知,这个快速答案是否定的,我不知道在将数字输出到屏幕时限制显示位数的内置全局机制。

答案 1 :(得分:0)

当您使用.ToString(format)方法将数字值转换为字符串并指定" N"格式,然后您可以使用CultureInfo来设置小数位数:

var ci = new System.Globalization.CultureInfo(Thread.CurrentThread.CurrentCulture.Name);
ci.NumberFormat.NumberDecimalDigits = 1;
Thread.CurrentThread.CurrentCulture = ci;

decimal dm = 20.12345m;
double db = 20.12345;
Console.WriteLine(dm.ToString("N"));
Console.WriteLine(db.ToString("N"));

两者都显示1位小数。