You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC中EJ Grid的Double类型列格式化问题(保留3位小数)

ASP.NET MVC中EJ Grid的Double类型列格式化问题(保留3位小数)

嘿,看你已经搞定了日期时间列的格式化,现在想处理double类型列,实现类似Math.round(x, 3)保留三位小数的效果对吧?我给你两种常用的解决方案:

方案一:使用内置数值格式化字符串

EJ Grid支持标准的.NET数值格式化语法,直接用{0:N3}就能实现四舍五入保留三位小数的效果,和你用Format("N2")的逻辑完全一致,只是把位数从2改成3就行。代码示例如下:

col.Field("YourDoubleColumn").HeaderText("数值列").Format("{0:N3}").Add();
  • 这里的N3会自动帮你完成四舍五入,还会添加千位分隔符(比如1234.5678会变成1,234.568)
  • 如果不需要千位分隔符,换成{0:F3}就可以了,它同样会四舍五入保留三位小数,但不会加千位分隔符(比如1234.5678会变成1234.568)

方案二:自定义客户端格式化函数(完全匹配Math.round(x,3))

如果你想完全通过Math.round来控制逻辑,也可以用EJ Grid的ClientFormatFunction属性,自定义一个客户端函数来处理:
首先在页面的脚本里定义格式化函数:

function formatDoubleValue(value) {
    // 实现Math.round(x,3)的逻辑:先乘1000取整,再除以1000
    return Math.round(value * 1000) / 1000;
}

然后在列配置里引用这个函数:

col.Field("YourDoubleColumn").HeaderText("数值列").ClientFormatFunction("formatDoubleValue").Add();

这种方式更灵活,适合有特殊格式化需求的场景。

备注:内容来源于stack exchange,提问作者Владимир

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:13:00