VB.NET FormatNumber equivalente em C#?
Pergunta
Existe um C# equivalente para o VB.NET FormatNumber
função?
I. e.:
JSArrayString += "^" + (String)FormatNumber(inv.RRP * oCountry.ExchangeRate, 2);
Solução
Em C# e VB.NET você pode usar o .ToString() função ou a Seqüência de caracteres.Format() método para formatar o texto.
Usando o .Método ToString() o exemplo pode ser escrita como:
JSArrayString += "^" + (inv.RRP * oCountry.ExchangeRate).ToString("#0.00")
Alternativamente, usando a Seqüência de caracteres.Format() poderia escrito como:
JSArrayString = String.Format("{0}^{1:#0.00}",JSArrayString,(inv.RRP * oCountry.ExchangeRate))
Em ambos os casos acima eu usei a formatação personalizada para a moeda com # o que representa um opcional lugar de titular e 0 representa um 0 ou um valor, se houver.
Outros caracteres de formatação pode ser usada para ajudar com a formatação, tais como D2 para 2 casas decimais ou C para visualizar como moeda.Neste caso, você não gostaria de usar o C formatador de como isso teria inserido o símbolo de moeda e mais separadores de que não eram necessárias.
Ver "Seqüência de caracteres.Format("{0}", "cadeia de caracteres de formatação"};"ou "Formato de String para Int"para obter mais informações e exemplos sobre como usar a Seqüência de caracteres.O formato e as diferentes opções de formatação.
Outras dicas
Sim, o .ToString(string) métodos.Por exemplo,
int number = 32;
string formatted = number.ToString("D4");
Console.WriteLine(formatted);
// Shows 0032
Observe que, no C# você não usar um número para especificar um formato, mas se você usar um caractere ou uma seqüência de caracteres.Formatação de datas e números em C# leva alguns minutos para aprender, mas depois de entender a princípio, você pode rapidamente obter qualquer coisa que você quiser, olhando para os de referência.
Eis aqui alguns artigos do MSDN para você começar :
Padrão De Cadeias De Caracteres De Formato Numérico Tipos De Formatação
Você pode usar a seqüência de caracteres de formatadores para realizar a mesma coisa.
double MyNumber = inv.RRP * oCountry.ExchangeRate;
JSArrayString += "^" + MyNumber.ToString("#0.00");
Enquanto eu recomendaria usar ToString neste caso, sempre tenha em mente que você pode usar QUALQUER VB.Net função ou classe de C# apenas por referência Microsoft.VisalBasic.dll.