我有列表视图,数据将显示在数据表的列表视图中 像这样我已经完成但我在datarow 6有问题
dt = classes.xxxxx.GetData(sql, mf);
if (dt != null)
{
ListViewItem newitem = null;
lstviewcashmembers.Items.Clear();
lstviewcashmembers.BeginUpdate();
foreach (DataRow dr in dt.Rows)
{
newitem = lstviewcashmembers.Items.Add(dr[0].ToString());
newitem.SubItems.Add(dr[1].ToString());
newitem.SubItems.Add(dr[2].ToString());
newitem.SubItems.Add(dr[3].ToString());
newitem.SubItems.Add(dr[4].ToString());
newitem.SubItems.Add(dr[5].ToString());
newitem.SubItems.Add(dr[6].ToString());
newitem.SubItems.Add(dr[7].ToString());
newitem.SubItems.Add(dr[8].ToString());
newitem.SubItems.Add(dr[9].ToString());
newitem.SubItems.Add(dr[10].ToString());
newitem = null;
}
lstviewcashmembers.EndUpdate();
}
我的问题就像我从数据库得到的原始值是25.00000在dr [6]
我的意思是在这行newitem.SubItems.Add(dr [6] .ToString());
但我必须只显示两个小数位,例如25.00
有人会帮忙吗?
答案 0 :(得分:5)
使用此:
dr[6].ToString("N2")
更新
((double)dr[6]).ToString("N2")
N2必须在数字类型上完成,因此必须在DataRow对象上进行强制转换。
答案 1 :(得分:1)
试试这个:
string r = "1000.123456";
var t = string.Format("{0:#.##}",decimal.Parse(r)); //1000.12
答案 2 :(得分:0)
Jason Down给出了正确答案。尝试dr [6] .ToString(“0.00”)也
并尝试阅读Standard Numeric Format Strings和Custom Numeric Format Strings有关格式的更多信息。
快乐编码。