c# - Word 文档中的数字格式
问题描述
我在 Word 文档中有一些带有说明性文本的字段,例如这个:
{ MERGEFIELD MyField1 \# "000" }
我正在使用 OpenXML SDK 读取这些字段,如此处所示,并用一些数据替换它们。
我将字段中指定的数字格式应用于我的数据,如下所示:
string fieldFormat = "000";
int data = 1234;
string fieldValue = data.ToString(fieldFormat);
在大多数情况下,这很好用,但是现在我得到了一个具有“xxx”作为数字格式的文档,并且在使用上述格式时,我得到了 .xxx 的“xxx” fieldValue
。
string fieldFormat = "xxx";
int data = 1234;
string fieldValue = data.ToString(fieldFormat); // Problem!
我看到 .NET 不支持自定义数字格式,但 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");
解决方案
推荐阅读
- javascript - 为什么两个循环的输出不同?
- confluent-platform - KSQL SELECT 代码有效,但 CREATE TABLE `..` AS SELECT 代码返回错误 - io.confluent.ksql.util.KsqlStatementException:无法解析列
- c# - 如何创建一个通用数组来添加任何视图
- bash - Nested If else Statement, operand expected
- css - How to remove parent div white space between child divs?
- swift - 为什么 NavigationLink 背景是灰色的?
- asp.net - 如何将时间戳从一个按钮单击移动到另一个
- mysql - SQL query ALL "or more"?
- r - sjPlot 如何计算显着性?
- javascript - 如何在 CodeceptJS 中使用软断言