如何将网格中被视为文本的单元格设置为零、一位或两位数,具体取决于值是什么,但如果它有更多的值,则将其减少到两位数?
如果值为25,我们将显示25。如果该值为26.3,我们将显示26.3。如果该值为27.59,我们将显示27.59。如果该值为28.124,我们将显示28.12.如果该值为11.1111111,则显示11.11.
这有意义吗?
我使用的是C#、MVC和javascript/jquery。
发布于 2017-03-15 00:50:46
如果您不想舍入该值,则可以执行两种不同的操作:
//using String.Format()
string.Format("{0:#.##}", someValue)
//using ToString()
someValue.ToString("#.##")Working fiddle here
如果您的值不是双精度/小数形式,那么您可以通过检查小数点的索引并将字符串修剪为小数点右侧的1或2个索引来操作字符串。但是,将值解析为新的双精度值可能会更容易,而不是让字符串格式化从那里获取它。
发布于 2017-03-15 00:47:50
在C#中,您可以使用Math.Round函数
decimal d = 28.1234;
Var a = Math.Round(d,2);A将是28.12岁
发布于 2017-03-15 00:53:19
因为你说它就像一个文本,所以你以一个字符串开头:
string text = "25.1234";然后,您可以将其解析为双精度,以便对其进行舍入:
double number = double.Parse(text);然后,将值四舍五入为所需的小数并将其转换为字符串:
text = Math.Round(number, 2).ToString();https://stackoverflow.com/questions/42791775
复制相似问题