Как мне форматировать двойную валюту, округленную до ближайшего доллара?

Прямо сейчас у меня есть

double numba = 5212.6312 Строка . Формат ( «{0: C}» , « Преобразовать» . ToInt32 ( numba ) ) lass = «lang-cs prettyprint prettyprinted»> 
  $5,213.00

Это даст мне

double

но я не хочу «.00».

Я знаю, что могу просто отбросить последние три символа строки каждый раз, чтобы добиться эффекта, но похоже, что должен быть более простой способ.

c#,formatting,rounding,currency,

54

Ответов: 6


84 принят

Во-первых - не держите валюту в decimalиспользовании вместо. Каждый раз. Затем используйте «C0» в качестве спецификатора формата:decimal numba = 5212.6312M; string s = numba.ToString("C0");

String.Format("{0:C0}", Convert.ToInt32(numba))

23

Это должно сделать работу:

C

Число после того, как Cуказано количество десятичных знаков для включения.

Я подозреваю, что вы действительно хотите использовать decimalтип для хранения таких чисел.


Console.WriteLine(numba.ToString("C0"));

3

Я думаю, что правильный путь для достижения вашей цели заключается в следующем:

Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalDigits = 0;

и только тогда вы должны выполнить вызов Format:

String.Format("{0:C0}", numba) 

3
 decimal value = 0.00M;
        value = Convert.ToDecimal(12345.12345);
        Console.WriteLine(".ToString("C") Formates With Currency $ Sign");
        Console.WriteLine(value.ToString("C"));
        //OutPut : $12345.12
        Console.WriteLine(value.ToString("C1"));
        //OutPut : $12345.1
        Console.WriteLine(value.ToString("C2"));
        //OutPut : $12345.12
        Console.WriteLine(value.ToString("C3"));
        //OutPut : $12345.123
        Console.WriteLine(value.ToString("C4"));
        //OutPut : $12345.1235
        Console.WriteLine(value.ToString("C5"));
        //OutPut : $12345.12345
        Console.WriteLine(value.ToString("C6"));
        //OutPut : $12345.123450

нажмите, чтобы увидеть экран «Консоль Out Put»

Надеюсь, это может помочь вам ...

Благодарю. :)

C #, форматирование, округление, валюта,
Похожие вопросы