通过String.Format
语法,我知道我可以double
使用一组小数位数来格式化 s,如下所示:
String.Format("{0:F8}", 0.123456789);
在大多数情况下这很好,但我正在编写一个函数,其中调用函数应该指定一个格式字符串。格式字符串指定函数与外部程序交互的方式。需要高精度,因此所有double
s 都需要格式化为 8 位小数。为了将接口与实现分开,我不能指望调用函数来理解对精度的需求,因此不能指望格式字符串在格式字符串中包含十进制说明符。
我目前最好的选择是使用正则表达式修改格式字符串。有没有一种更简洁的方法来指定double
格式化的所有 sString.Format
都应该具有这种精度?
该函数通常使用以下两个参数调用:
- 格式字符串,例如
"new Generator.{0} bus1={1} phases=3 model=1 status=fixed kV={2} Vminpu=0.5 Vmaxpu=2kW=0 kvAR={3}"
- 一个 lambda 函数,将内部获取的对象映射到格式字符串的值数组。