我用 c# 编写了一个程序来解决工程经济问题,例如找到投资的现值,或未来/付款、期数、利率、B/C 分析、现值分析、债券等.
我现在遇到的问题是我想将我所做的操作保存在 Microsoft Word 文件中,并使用 Microsoft Word 的公式编辑器很好地格式化公式。
现在我只是用这样的方法将信息保存到一个文本文件中。
public async void LogFV(decimal i, decimal n, decimal p, decimal pmt, decimal res)
{
using (var writer = new StreamWriter(FileName, true))
{
var sb = new StringBuilder();
sb.AppendLine("Given Data: ");
sb.AppendLine(String.Format("i = {0:P}", i));
sb.AppendLine(String.Format("n = {0}", n));
sb.AppendLine(String.Format("A = {0:C}", pmt));
sb.AppendLine(String.Format("P = {0:C}", p));
sb.AppendLine("Resolution: ");
sb.AppendLine(String.Format("F = {0} * (F/P, {1:P}, {2}) + {3} * (F/A, {1:P}, {2})", p, i, n, pmt));
sb.AppendLine(String.Format("F = {0:C}", res));
await writer.WriteLineAsync(sb.ToString());
}
}
我不想重新发明轮子,这不是功课。现在我想使用 Online LaTeX 公式编辑器,但我更喜欢 Microsoft Word 的编辑器。
我还想问的一个设计模式问题是,我应该如何实现 Logger?我不想将它与公式的实现混在一起,所以我考虑创建一个 Logger 类,它代表特定的公式(例如 FV、PV 等)并使用参数执行日志记录任务。但我认为必须有更好的方法来做到这一点。