Visual c # десятичные знаки и валюта - PullRequest
0 голосов
/ 28 ноября 2011

Я новичок в C #, и я прочитал несколько других вопросов о десятичных дробях, но все еще думаю о себе, поэтому я спрашиваю, как мне это сделать: 1) Измените Средний инвентарь на английские фунты, поскольку я прочитал вопросы, но они всекажется, что они статичны, когда мои меняются.

Средний запас = (Начальный запас + Конечный запас) / 2.0

Оборот = Стоимость проданных товаров / Средний запас

http://i42.tinypic.com/17bvpv.png

Итак, все, чего я пытаюсь достичь, - это изменить Средний инвентарь, чтобы поменять местами НЕТ десятичных знаков, возможно, округлить.Изменение оборота на 1 десятичное место.

Вот некоторые коды, которые я нашел, но их значение вне меня

        //decimal.Round = something.ToString("$#,2") ;
       // Decimal.Round = resultDecimal = decimal.Round(amountDecimal, 2);

       // decimal.Round(DecimalValue, Integer = .1);

        //decimal.Round(1.25M, 1, MidpointRounding.AwayFromZero);  
       // double after1 = Math.Round(before1, 1, MidpointRounding.AwayFromZero);

       // Math.Round(3.44, 1); //Returns 3.4.
        //decimal.Round(1, MidpointRounding.AwayFromZero);

Ответы [ 2 ]

1 голос
/ 28 ноября 2011
decimal d = 100000.123456M;
var s = d.ToString("C0", new CultureInfo("en-GB")); //gives £100,000

Где C обозначает форматирование валюты, а 0 обозначает номер.десятичных знаков.

0 голосов
/ 28 ноября 2011

Попробуйте это:

using System.Globalization;

...

decimal d = 100000.123M;
NumberFormatInfo nfi = new CultureInfo("en-GB", false).NumberFormat;
nfi.CurrencyDecimalDigits = 0;
var s = d.ToString("C", nfi);
...