Pergunta

Existe um C# equivalente para o VB.NET FormatNumber função?

I. e.:

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

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top