C# Word文档中的数字格式

C# Word文档中的数字格式,c#,ms-word,number-formatting,openxml-sdk,C#,Ms Word,Number Formatting,Openxml Sdk,我在Word文档中有一些带有说明文本的字段,例如: {MERGEFIELD MyField1\#“000”} 我正在使用OpenXMLSDK读取这些字段,如图所示,并用一些数据替换它们。 我正在将字段中指定的数字格式应用于我的数据,如下所示: string fieldFormat=“000”; int data=1234; 字符串fieldValue=data.ToString(fieldFormat); 在大多数情况下,这非常有效,但现在我得到了一个以“xxx”为数字格式的文档,当使用上述格

我在Word文档中有一些带有说明文本的字段,例如:

{MERGEFIELD MyField1\#“000”}

我正在使用OpenXMLSDK读取这些字段,如图所示,并用一些数据替换它们。
我正在将字段中指定的数字格式应用于我的数据,如下所示:

string fieldFormat=“000”;
int data=1234;
字符串fieldValue=data.ToString(fieldFormat);
在大多数情况下,这非常有效,但现在我得到了一个以“xxx”为数字格式的文档,当使用上述格式时,我得到了
字段值的“xxx”

string fieldFormat=“xxx”;
int data=1234;
string fieldValue=data.ToString(fieldFormat);//问题
我看到.NET在中不支持这一点,但Word在某种程度上支持这一点,它删除了“x”符号后面的任何数字。
因此,对于上述情况,它应导致“234”。我怎么能在C#中做到这一点

编辑,添加了一些其他示例:

int number=1158;
字符串format1=“x”;
字符串format2=“xx”;
字符串格式3=“x#”;
字符串格式4=“x,###”;
字符串format5=“x,xxx”;
字符串格式6=“x##.00”;
字符串格式7=“xxxxxxx.00”;
Console.WriteLine((number+format1)的结果应为:8”);
Console.WriteLine((number+format2)的结果应为:58”);
Console.WriteLine((number+format3)的结果应为:58”);
Console.WriteLine(((number+format4)的结果应该是:1158”);
Console.WriteLine(((数字+格式5)应导致:1158”);
Console.WriteLine(((数字+格式6)应导致:158.00”);
Console.WriteLine(“(数字+格式7)应导致:1158.00”);

。请确保至少包含7个输入以及这7个输入的预期结果。您是否在流程中使用了任何c代码?@mjwills我添加了一些其他示例。@PeterSmith是的,我正在使用我链接的OpenXML SDK代码来检索字段的格式(
fieldFormat
变量)我有来自数据库的
数据
变量。我需要将这两者结合起来,得到与MS Word相同的值。我不知道有哪种C格式可以满足您的屏蔽需求,但用
0
替换
x
将是一个开始。您还可以编写自己的屏蔽函数。