我想格式化在 DataGridView 中显示和捕获的小数位,我有最小小数位数和最大小数位数。 例如:
If caught, "120.0" display "120.00"
If caught "120.01" display "120.01"
If caught "120,123" display "120,123"
If caught "120.1234" display "120.1234"
If caught "120.12348" display "120.1235" (round)
在 DataGridView 列中,“txtcDecimal”具有属性(来自设计器)
txtcDecimal.DefaultCellStyle.Format = "N2";
txtcDecimal.DefaultCellStyle.Format = "0.00##"; // IS ANSWER. I do not work for an event that interfered
掩码“0.00##”作为“n2”只能得到两位小数 它正确地四舍五入到小数点后两位,但不符合我的需要(如我在示例中所示)
如何在不消耗大量资源的情况下以简单的方式做到这一点?
感谢 harlam357 和 Tom Garske
最佳答案
要在 2 到 4 位小数之间设置格式,您可以使用自定义格式字符串。
txtcDecimal.DefaultCellStyle.Format = "0.00##"
更进一步...
public partial class Form1
{
public Form1()
{
InitializeComponent();
var list = new List<Data>();
list.Add(new Data { Prop1 = 1, Prop2 = 1.2 });
list.Add(new Data { Prop1 = 2, Prop2 = 1.234567 });
dataGridView1.Columns.Add("Prop1", "Prop1");
dataGridView1.Columns["Prop1"].DataPropertyName = "Prop1";
dataGridView1.Columns.Add("Prop2", "Prop2");
dataGridView1.Columns["Prop2"].DataPropertyName = "Prop2";
dataGridView1.Columns["Prop2"].DefaultCellStyle.Format = "0.00##";
dataGridView1.DataSource = list;
}
class Data
{
public int Prop1 { get; set; }
public double Prop2 { get; set; }
}
}
关于c# - 如何在 DataGridView 中格式化带有最大值和最小值的小数列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11229590/