使用给定选项将双精度转换为字符串的函数

Function to convert double to string with given options

我想创建一个函数,它的参数有值、小数点和小数点后的位数。此函数将使用给定参数将双精度值转换为字符串。

这是我创建的函数。

public static string ConvertDoubleToString(double value, string decimalMark = ".", int decimalDigits = 2)
{
    NumberFormatInfo nfi = new NumberFormatInfo();
    nfi.NumberDecimalSeparator = decimalMark;
    nfi.NumberDecimalDigits = decimalDigits;
    return value.ToString(nfi);
}

例如:

ConvertDoubleToString(0) will give result = 0.00
ConvertDoubleToString(0,",") will give result = 0,00
ConvertDoubleToString(0,".",4) will give result = 0.0000
ConvertDoubleToString(2.345,".",4) will give result = 2.3450
ConvertDoubleToString(2.34561,".",3) will give result = 2.345

我创建的函数无法做到这一点。我还能做什么?

试试这个:

NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalSeparator = decimalMark;
nfi.NumberDecimalDigits = decimalDigits;
return value.ToString("F" + decimalDigits.ToString(), nfi);

根据有点重复,您需要告诉 ToString 格式化为数字(而不是货币):

return value.ToString("N", nfi);