VB.NET Эквивалент FormatNumber в C #?
Вопрос
Существует ли эквивалент C # для VB.NET FormatNumber
функция?
То есть.:
JSArrayString += "^" + (String)FormatNumber(inv.RRP * oCountry.ExchangeRate, 2);
Решение
Как в C #, так и в VB.NET вы можете использовать либо .toString() функция или Строка.Формат () способ форматирования текста.
Используя метод .toString(), ваш пример может быть записан как:
JSArrayString += "^" + (inv.RRP * oCountry.ExchangeRate).ToString("#0.00")
В качестве альтернативы можно использовать строку.Format() это может быть записано как:
JSArrayString = String.Format("{0}^{1:#0.00}",JSArrayString,(inv.RRP * oCountry.ExchangeRate))
В обоих вышеприведенных случаях я использовал пользовательское форматирование для валюты, где # представляет необязательный заполнитель, а 0 представляет 0 или значение, если таковое существует.
Для облегчения форматирования можно использовать другие символы форматирования, такие как D2 для 2 знаков после запятой или C для отображения в качестве валюты.В этом случае вы бы не захотели использовать программу форматирования C, так как это привело бы к вставке символа валюты и дополнительных разделителей, которые не были обязательными.
Видишь "Строка.Format("{0}", "форматирующая строка"};" или "Строковый формат для Int" для получения дополнительной информации и примеров использования String.Format и различных параметров форматирования.
Другие советы
Да, методы .toString(строка).Например,
int number = 32;
string formatted = number.ToString("D4");
Console.WriteLine(formatted);
// Shows 0032
Обратите внимание, что в C # вы не используете число для указания формата, но вы используете символ или последовательность символов.Изучение форматирования чисел и дат в C # занимает несколько минут, но как только вы поймете принцип, вы сможете быстро получить все, что захотите, просмотрев ссылку.
Вот пара статей MSDN, которые помогут вам начать :
Вы можете использовать форматеры строк для достижения той же цели.
double MyNumber = inv.RRP * oCountry.ExchangeRate;
JSArrayString += "^" + MyNumber.ToString("#0.00");
Хотя я бы рекомендовал использовать toString в этом случае, всегда имейте в виду, что вы можете использовать ЛЮБУЮ функцию VB.Net или класс из C #, просто сославшись Microsoft.VisalBasic.dll.