Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#字符串。使用嵌套数字格式设置格式_C# - Fatal编程技术网

C#字符串。使用嵌套数字格式设置格式

C#字符串。使用嵌套数字格式设置格式,c#,C#,我正在尝试创建一个通用规范字符串生成器,它可以格式化为任何小数位数,即“温度必须为20.5 C到40.0 C”,“湿度必须为15%到85%”,“气体入口压力必须为2.25 ATM到2.75 ATM”,等等 现在,我正在做以下工作,但我觉得可以简化 public static string SpecToString(double minimum, double maximum, int digits) { string numberFormatMin = "{0:f" + digits +

我正在尝试创建一个通用规范字符串生成器,它可以格式化为任何小数位数,即“温度必须为20.5 C到40.0 C”,“湿度必须为15%到85%”,“气体入口压力必须为2.25 ATM到2.75 ATM”,等等

现在,我正在做以下工作,但我觉得可以简化

public static string SpecToString(double minimum, double maximum, int digits)
{
    string numberFormatMin = "{0:f" + digits + "}";
    string numberFormatMax = "{1:f" + digits + "}";

    return String.Format(numberFormatMin + " to " + numberFormatMax, minimum, maximum);
}
是否仍有String.Format“嵌套”参数,如下所示?按原样,它抛出一个输入字符串格式不正确的异常

public static string SpecToString2(double minimum, double maximum, int digits)
{
    return String.Format("{0:f{2}} to {1:f{2}}", minimum, maximum, digits);
}

如果发现“更简单”,可以使用两个
String.Format
调用


事情应该尽可能简单。不简单。您可以强制客户端提供舍入值。这些值以参考度量单位存储在数据库中。然后可以进行转换,即压力单位为bar、PSI、ATM、Torr,所有这些单位都将以不同的小数位数显示。
var temp = string.Format("{{0:f{0}}} to {{1:f{0}}}", digits);
return string.Format(temp, minimum, maximum);