Word文档中的数字格式

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

{MERGEFIELD MyField1 \#“ 000”}

我正在使用OpenXML SDK读取这些字段,如here所示,并将其替换为一些数据。
我正在将字段中指定的数字格式应用于我的数据,如下所示:

string fieldFormat = "000";
int data = 1234;
string fieldValue = data.ToString(fieldFormat);

在大多数情况下,这种方法效果很好,但是现在我得到了一个以数字格式“ xxx”的文档,而当使用上述格式时,fieldValue则得到了“ xxx”。

string fieldFormat = "xxx";
int data = 1234;
string fieldValue = data.ToString(fieldFormat); // Problem!

我看到.NET在Custom numeric format中不支持此功能,但是Word支持此功能,因为它删除了“ x”符号位置之后的所有数字。
因此,对于上述情况,它应显示为“ 234”。我该如何在C#中做到这一点?

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

int number = 1158;

string format1 = "x";
string format2 = "xx";
string format3 = "x#";
string format4 = "x,###";
string format5 = "x,xxx";
string format6 = "x##.00";
string format7 = "xxxxxxx.00";

Console.WriteLine("(number + format1) should result to: 8");
Console.WriteLine("(number + format2) should result to: 58");
Console.WriteLine("(number + format3) should result to: 58");
Console.WriteLine("(number + format4) should result to: 1,158");
Console.WriteLine("(number + format5) should result to: 1,158");
Console.WriteLine("(number + format6) should result to: 158.00");
Console.WriteLine("(number + format7) should result to: 1158.00");
lanhu091 回答:Word文档中的数字格式

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2778515.html

大家都在问