将值转换为仅显示1位小数

时间:2013-12-20 09:47:52

标签: c# asp.net

我从数据库中获得了一个看起来像17.55453304545(仅作为示例)的值。但是我希望它以一个小数显示,所以它看起来像:17.6,然后显示到aspx页面。我没有权限更改数据库tabel中的值,所以我必须在C#代码中执行此操作。 我试过了:

double result = (Convert.ToDouble(this.GetFieldValue("value"));

但价值不会改变。来想一想,然后我认为这是因为我使用双倍?这个值最初可能是两倍。

5 个答案:

答案 0 :(得分:6)

您应该使用string formatting来显示它,而不是显示原始值。例如,

String.Format("{0:0.0}", myDoubleValue)

答案 1 :(得分:3)

使用Math.Round

double result = Math.Round(this.GetFieldValue("value"), 1);

您可以将1更改为任何其他小数位数。有关详细信息How do you round a number to two decimal places in C#?

,请参阅此帖子

答案 2 :(得分:2)

如果您只想显示它:

var value = (17.55453304545).ToString("#.#");

答案 3 :(得分:1)

这应该可以解决问题

var formatted = result.ToString("f1");

答案 4 :(得分:1)

试试这个:

double roundUp = Math.Round(Value, 1, MidpointRounding.AwayFromZero);