Я использую c#, каждый раз, когда я вставляю 3 десятичных разряда, число округлено, например.
1.538
раунды
к 1,54
Я хочу, чтобы число было, как, например, 1.53 (к двум десятичным разрядам только без любых округлений).
Как я могу сделать это?
Я полагаю, вы хотите использовать Math.Truncate ()
float number = 1.538
number = Math.Truncate(number * 100) / 100;
Truncate обрезает конечный бит. Однако имейте в виду, что нужно быть осторожным с отрицательными числами.
Это зависит от того, хотите ли вы всегда округлять до 0 или просто обрезать до конца, Math.Floor
всегда будет округлять в меньшую сторону до отрицательной бесконечности. Вот сообщение о разнице между ними.
Найдено эта ссылка, которая дает хороший фрагмент кода, позволяющий указать количество знаков после запятой вы хотите, как позволяет Math.Round ().
В основном это: -
public static double Floor(this double d, int decimals) {
return Math.Floor(d * Math.Pow(10, decimals)) / Math.Pow(10, decimals);
}