Округление двойных значений в C #

Вам нужно переместить Toolbar в виде верхнего вида в макете и заменить его на View, который будет помещать предыдущее пространство Toolbar и будет прокручиваться, как TabLayout, внутри вашего AppBarLayout.

Вот как вам нужно установить макет.

 
 
    
    <-!--- Toolbar is direct child of CooridnatorLayout and z-order above all views --!->

Здесь видео

30
задан csjohnst 25 January 2010 в 02:57
поделиться

3 ответа

Пример использования десятичной десятичной Kibbee, как указал

double d = 1.275;
Math.Round(d, 2);          // 1.27
Math.Round((decimal)d, 2); // 1.28 
43
ответ дан 27 November 2019 в 23:55
поделиться
double d = 1.2345;

Math.Round(d, 2);

Код выше должен сделать трюк.

5
ответ дан 27 November 2019 в 23:55
поделиться

Если вам действительно нужно использовать double , просто замените его ниже, и он будет работать, но с обычными проблемами точности двоичной арифметики с плавающей точкой.

Существует, конечно же, лучший способ реализовать "округление" (почти своего рода банковское округление), чем мое жонглирование строками, приведенное ниже.

public static decimal RoundI(decimal number, decimal roundingInterval)
{
   if (roundingInterval == 0) { return 0;}

   decimal intv = Math.Abs(roundingInterval);
   decimal modulo = number % intv;
   if ((intv - modulo) == modulo) {
       var temp = (number - modulo).ToString("#.##################");
       if (temp.Length != 0 && temp[temp.Length - 1] % 2 == 0) modulo *= -1;
   }
    else if ((intv - modulo) < modulo)
        modulo = (intv - modulo);
    else
        modulo *= -1;

    return number + modulo;
}
2
ответ дан 27 November 2019 в 23:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: