Os caracteres de formato %f, %e(%E), %g(%G) e %a(%A) podem formatar float, Float, double e Double, onde:
%f formata o valor como um número decimal de ponto flutuante, mantendo 6 casas decimais.
%e (%E) formata o valor como um número decimal de ponto flutuante em notação científica. %E coloca o símbolo do expoente em maiúscula ao formatar.
Por exemplo:
StringS=String.format(%f,%e,1234.56,1234.56);
Então, a string s é 1234.560000,1.23456e+03.
Ao formatar um número positivo, um sinal positivo é forçado a ser adicionado. Por exemplo: %+f formata 123,45 como +123,45 e %+E formata 123,45 como +1,2345E+2.
Ao formatar números de ponto flutuante, agrupe as partes inteiras por “milhares”, por exemplo:
Strings=String.format(a parte inteira é agrupada por milhares:%+,f,123456789.987);
Então, a string s é a parte inteira agrupada por milhares: +123.456.789,987000.
"%.nf" pode limitar o número de casas decimais, onde n é o número de casas decimais retidas, por exemplo: %.3f formata 3,1415926 em 3,142 (retendo 3 casas decimais).
O formato geral para especificar a largura dos dados é %md , cujo efeito é adicionar espaços à esquerda do número; se for %-md , seu efeito é adicionar espaços à direita do número;
Por exemplo, para formatar o número 12,34 em uma string de largura 10:
Strings=String.format(%10f,12.34);
Então, a string s é 12,340000 e seu comprimento (s.length()) é 10, ou seja, s adiciona um caractere de espaço à esquerda de 12,340000, para:
Strings=String.format(%-10f,12.34);
Então, a string s é 12,340000 e seu comprimento (s.length()) é 10, ou seja, s adiciona um caractere de espaço à direita de 12,340000.
Ao especificar a largura, você também pode limitar o número de casas decimais (%m.nf), para:
Strings=String.format(%10.2f,12.34);
Então, a string s é 12,34 e seu comprimento (s.length()) é 10, ou seja, s adiciona 5 caracteres de espaço à esquerda de 12,34.
Também podemos adicionar um prefixo 0 na frente da largura, o que significa usar o número 0 e não usar espaços para preencher o restante da largura à esquerda, por exemplo:
Strings=String.format(%010f,12.34);
Então, a string s é 012,340000 e seu comprimento (s.length()) é 10, ou seja, s adiciona um número 0 à esquerda de 12,340000.
Nota : Se a largura real do número for maior que a largura especificada no formato, o número será formatado de acordo com a largura real.