У меня есть сценарий, в котором некоторые значения переменных имеют десятичные значения, значения могут иметь ведущие .0, .234, .124, .125, числа, подобные этому, и так далее. Если число имеет ведущую десятичную дробь и ноль, его следует игнорировать, а если число имеет ведущие 3 или более чисел, оно должно округляться до двух. Допустим, код выглядит следующим образом:
var anone = "23"
var antwo = "23.0"
var anthree = "23.467"
var anfour = "23.125"
Чтобы удалить начальную десятичную дробь и ноль, я использовал следующий метод:
var removingzero = antwo.Replace(".0", "");
// The result will be = 23
Чтобы округлить и ограничить число до двух десятичных знаков. Я использовал следующий метод:
var convertodecimal = Decimal.Parse(anthree);
var roundtotwo = Math.Round(convertodecimal, 2);
// The result will be = 23.47
аналогично, чтобы преобразовать последнее, я следую тому же методу:
var convertodecimal = Decimal.Parse(anfour);
var roundtotwo = Math.Round(convertodecimal, 2);
// The result will be = 23.12
// But the Result should be = 23.13
Итак, проблема в том, когда Я пытаюсь округлить любое число, как в предыдущем примере, он этого не делает, как я могу это исправить.