VB.NET FormatNumber эквивалентно в C #? - PullRequest
       14

VB.NET FormatNumber эквивалентно в C #?

3 голосов
/ 08 сентября 2008

Есть ли эквивалент C # для функции VB.NET FormatNumber?

т.е:.

JSArrayString += "^" + (String)FormatNumber(inv.RRP * oCountry.ExchangeRate, 2);

Ответы [ 4 ]

10 голосов
/ 08 сентября 2008

Как в C #, так и в VB.NET вы можете использовать либо функцию .ToString () , либо метод String.Format () для форматирования текста.

Используя метод .ToString (), ваш пример может быть записан как:

JSArrayString += "^" + (inv.RRP * oCountry.ExchangeRate).ToString("#0.00")

В качестве альтернативы, используя String.Format (), он может быть записан как:

JSArrayString = String.Format("{0}^{1:#0.00}",JSArrayString,(inv.RRP * oCountry.ExchangeRate))

В обоих вышеупомянутых случаях я использовал пользовательское форматирование для валюты с #, представляющим необязательный заполнитель, и 0, представляющим 0 или значение, если оно существует.

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

См. " String.Format (" {0} "," строка форматирования "}; " или " Формат строки для Int " для получения дополнительной информации и примеров того, как использовать String.Format и другие параметры форматирования.

2 голосов
/ 08 сентября 2008

Да, методы .ToString (string). Например,

int number = 32;
string formatted = number.ToString("D4");
Console.WriteLine(formatted);
// Shows 0032

Обратите внимание, что в C # вы не используете число для указания формата, но вы используете символ или последовательность символов. Форматирование чисел и дат в C # занимает несколько минут для изучения, но как только вы поймете принцип, вы можете быстро получить все, что захотите, взглянув на ссылку.

Вот пара статей MSDN, с которых можно начать:

Стандартные строки числового формата Типы форматирования

1 голос
/ 08 сентября 2008

Вы можете использовать средства форматирования строк, чтобы выполнить то же самое.

double MyNumber = inv.RRP * oCountry.ExchangeRate;
JSArrayString += "^" + MyNumber.ToString("#0.00");
0 голосов
/ 09 сентября 2008

Хотя в этом случае я бы рекомендовал использовать ToString, всегда имейте в виду, что вы можете использовать ЛЮБУЮ функцию или класс VB.Net из C #, просто ссылаясь на Microsoft.VisalBasic.dll.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...