Вы получите большую часть информации как браузер, устройство, принял языки, принятые форматы и т.д. от заголовка запроса. Упомянутый выше агент пользователя является частью заголовка запроса.
Двойные числа не могут точно представлять 16,9. Я предлагаю вам вместо этого преобразовать его в десятичное
:
string s = "16.9";
decimal m = Decimal.Parse(s) * 100;
double d = (double)m;
Вы можете просто использовать десятичное
вместо double
, поскольку вы говорите, что использовать его в денежных целях. Помните, что decimal
предназначен для точного представления десятичных чисел, соответствующих его точности, в то время как double
будет точно представлять только двоичные числа, которые подходят.
Math.Round(number, 1)
Edit Я ошибся вопросом - проблемы с округлением присущи типу с плавающей запятой (float, double). Для этого следует использовать десятичную дробь.