我从数据库中获得了一个看起来像17.55453304545(仅作为示例)的值。但是我希望它以一个小数显示,所以它看起来像:17.6,然后显示到aspx页面。我没有权限更改数据库tabel中的值,所以我必须在C#代码中执行此操作。 我试过了:
double result = (Convert.ToDouble(this.GetFieldValue("value"));
但价值不会改变。来想一想,然后我认为这是因为我使用双倍?这个值最初可能是两倍。
答案 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);