在字符串格式化中执行数学计算

时间:2014-03-08 07:46:13

标签: c# .net datagridview string-formatting number-formatting

我想将指示秒数的数字转换为我的特定格式 mmmm:ss ,例如,数字3601应为60:01,7201结果为1200:01

为此,我写了以下代码

var text = string.Format("{0}:{1}",seconds / 60, seconds % 60);
//seconds 651 outputs 10:51
//seconds 6612 outputs 110:12

工作正常,我只需要制作一个格式,比如

var text = string.Format("{x:x/60:x%60},seconds);

是否可以制作自定义格式?我坚持以格式化字符串的形式完成,因为我想将它设置在DataGridView.DefaultCellStyle.Format属性上,我无法注入代码。

1 个答案:

答案 0 :(得分:1)

您可以使用DataGridView.CellFormatting事件格式化时间值。

void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == ColumnIndex)
    {
        e.Value = // formatted value
        e.FormattingApplied = true;
    }
}