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

如何在C#的字符串插值中使用可变格式字符串

实现方法

你可以把格式字符串抽成独立变量,通过decimal.ToString()或string.Format()方法传递这个格式参数,具体实现如下:

方式一:使用数值类型的ToString方法

直接调用decimal的ToString(string format)重载,把格式字符串作为参数传入,这是最直接的方式:

var d = 1.25M;
// 定义格式字符串,可直接作为参数传递给其他方法
string decimalFormat = "#,#.##;(#,#.##);0";
var val = d.ToString(decimalFormat);

方式二:使用string.Format方法

如果需要同时格式化多个值这类更灵活的场景,可以用string.Format组合格式字符串:

var d = 1.25M;
string decimalFormat = "#,#.##;(#,#.##);0";
var val = string.Format("{0:" + decimalFormat + "}", d);

作为方法参数传递示例

把格式字符串作为参数传给自定义方法,实现格式化逻辑复用:

// 自定义格式化方法
public string FormatDecimalValue(decimal inputNumber, string formatString)
{
    return inputNumber.ToString(formatString);
}

// 调用示例
var d = 1.25M;
string twoDecimalFormat = "#,#.##;(#,#.##);0";
var formattedResult = FormatDecimalValue(d, twoDecimalFormat);

这里的格式字符串#,#.##;(#,#.##);0和你原逻辑完全一致:正数显示千分位加两位小数,负数用括号包裹千分位加两位小数,零则显示为0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:05:20