出于显示目的,是否可以为小数分隔符ASP.NET MVC 4后显示的位数设置站点全局规则?如果是这样,人们如何实现这一目标?
最佳方法是web.config中指定的与文化相关的规则,它会影响所有打印的小数。
答案 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位小数。