ToString (d/я); // Что я получу, когда я это сделаю? Двойной? Поплавок?
Вы получите двойной. Разделение двойной на int приведет к двойному значению.
public String ToString (float? Result) // что я должен делать результат?
Вы получите double
для значения, так что вы бы лучше просто используя double
здесь. Вы никогда не получите тип с нулевым значением и, безусловно, не получите float
, поэтому использование float?
совершенно неуместно.
Каков наилучший способ сделать это с точки зрения эффективности стека?
Этого действительно не стоит беспокоиться, если, конечно, вы не профиль, и найти это действительно будет проблемой. Построение строки будет намного дороже, чем операция деления, и ни одна из них, скорее всего, не станет точкой с точки зрения производительности.
Чистый способ справиться с этим было бы просто использовать double.ToString("N2"), то есть:
double result = d/i;
string resultAsString = result.ToString("N2");
Если вы хотите полностью отформатированную строку, вы можете использовать:
string resultAsString = string.Format("{0:N2} divided double by int", result);
и '@ ~ перед именем функции ничего не делает в C#. Он должен выбросить ошибку компилятора. –
Пожалуйста, оставьте «C#» перед вашими заголовками. См. «[Переполнение стека не нуждается в ваших навыках SEO] (http://meta.stackexchange.com/a/130208)». –
@Cole, это неверно. Здесь не нужно *. Но это законно. (чтобы быть понятным, '@' позволяет использовать - как * идентификаторы * - то, что в противном случае было бы зарезервированным словом. Имена методов - это идентификаторы) –