У меня есть double значение, например, 12.256852651 и я хочу отобразить его как 12.257 как число с плавающей точкой, не преобразовывая его в тип строки.
Как я могу сделать это на С#?
Ответ 1
Сначала я конвертировал в Decimal а затем использовал Math.Round для результата. Это преобразование не является абсолютно необходимым, но я всегда чувствую себя немного неловко, если я округлю до десятичных знаков при использовании двоичных плавающих точек.
Вы также должны изучить выбор MidpointRounding, поскольку по умолчанию это использует раунд Banker, который не является тем, к чему вы привыкли в школе.
Ответ 2
Если вы хотите отобразить его, это будет строка и то, что вам нужно использовать.
Если вы хотите округлить, чтобы использовать его позже в вычислениях, используйте Math.Round((decimal)myDouble, 3).
Если вы не собираетесь использовать его в расчете, но его нужно отобразить, используйте double.ToString("F3").