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

RazorEngine模板调用函数语法求助:double.ToString格式化问题

解决RazorEngine模板中调用double.ToString指定格式的问题

我之前用RazorEngine的时候也碰到过类似的麻烦,它的官方文档确实不够详尽,但其实调用.NET原生方法的语法和标准Razor很接近,只是有些细节得留意下。

针对你要把double值四舍五入到百分位(也就是保留两位小数)的需求,下面是正确的用法:

基本直接调用

如果你的模板模型里对应的属性已经是double类型,直接在模板里这么写就行:

@Model.YourDoubleValue.ToString("N2")

这里的"N2"格式字符串会自动帮你四舍五入到两位小数,比如123.456会输出123.46,78.9会输出78.90。

要是你需要把数值转换成百分比格式(比如0.1234变成12.34%),就换成"P2"格式字符串:

@Model.YourDoubleValue.ToString("P2")

处理类型转换问题

如果模型中的属性是object类型或者其他可转成数值的类型,记得先强制转换成double再调用方法,避免编译报错:

@(((double)Model.YourValue).ToString("N2"))

可选:空值判断

如果数值可能为null,可以加个空判断防止运行时出错:

@(Model.YourDoubleValue != null ? ((double)Model.YourDoubleValue).ToString("N2") : "0.00")

另外要注意,RazorEngine编译模板时对类型检查很严格,确保你传给模板的模型类型和模板里使用的类型匹配,这样调用方法时就不会出问题啦。

内容的提问来源于stack exchange,提问作者Justin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:07:33