Есть ли способ отформатировать двойное число, которое всегда имеет n
цифр, указанных пользователем?
Например, если пользователь хочет всегда видеть 4 цифры, возьмите в качестве примера следующие числа:
Original Formatted
------- ---------
3.42421 3.424
265.6250 265.6
812.50 812.5
12.68798 12.68
0.68787 0.687
Я придумал это, но это просто учитывает число с плавающей точкой!это не то, что я хотел!
public string ToEngV(double d, int percision = 0)
{
string zeros = string.Empty;
if (percision <= 0)
{
zeros += "0";
}
else if (percision > 0)
{
for (int i = 0; i < percision; i++)
{
zeros += "0";
}
}
return String.Format("{0:0." + zeros + "}", d)
}
Представьте, что я вызываю вышеуказанный метод для числа, такого как 812.50
, и я установил точность (теперь она используется для всех чисел, которые я собираюсь отформатировать).Очевидно, что результат будет 812.5
Но если я дам другое число, например 1.61826
, я получу 1.6
, и это разрушит форматирование на странице, где я показываю это число пользователям.Мне нужно, чтобы это было 1.618
Таким образом, я хочу, чтобы мой метод всегда показывал N
цифру!