Não consigo descobrir como implementar essa tarefa:
Eu preciso formatar um decimal como este
var formatted = String.Format("{0:G}%", numberOfDecimalType);
Portanto, o resultado deve ser um número numérico formatado com um sinal% à direita. O problema é que eu preciso obter esse resultado usando .ToString()
método. Eu tentei numberOfDecimalType.ToString("G%")
e diferentes outras variantes, mas não ajudou
É possível?
Respostas:
3 para resposta № 1Você pode adicionar caracteres literais usando um string de formato numérico personalizado:
var formatted = numberOfDecimalType.ToString(@"#,##0.##%");
A barra invertida garante que %
é tratado como um caractere literal em vez de uma instrução de formatação especial.
Note, entretanto, que isto não é um exato substituição de G
, ou seja, você pode precisar ajustar o número de #
s para acomodar o número necessário de casas decimais.
3 para resposta № 2
Você não será capaz de acrescentar o "%" ao final usando um único ToString
ligar; você precisará formatar o decimal usando ToString
e, em seguida, anexe o sinal de porcentagem separadamente:
var formatted = numberOfDecimalType.ToString("G") + "%";
2 para resposta № 3
Você poderia simplesmente acrescentar o percentual, não poderia?
formatted = numberOfDecimalType.ToString("G") + "%";