使用给定选项将双精度转换为字符串的函数
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);
我想创建一个函数,它的参数有值、小数点和小数点后的位数。此函数将使用给定参数将双精度值转换为字符串。
这是我创建的函数。
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);