Formatering Numeriske Utskriften

Formatering Numeriske Utskriften

Tidligere du så bruk av print og println metoder for utskrift av strenger til standard output (System.out). Siden alle tall kan konverteres til strenger (som du vil se senere i denne leksjonen), kan du bruke disse metodene til å skrive ut en tilfeldig blanding av strenger og tall., Java programmeringsspråk har andre metoder, men, som tillater deg å trene mye mer kontroll over dine print output når tallene er inkludert.

printf format og Metoder

java.io pakken inkluderer en PrintStream klassen som har to formatering metoder som du kan bruke til å erstatte print og println. Disse metodene, format og printf, er tilsvarende en annen., Den velkjente System.out at du har brukt skjer for å være en PrintStream objektet, slik at du kan bruke PrintStream metoder på System.out. Dermed kan du bruke format eller printf hvor som helst i koden din der hvor du har vært ved hjelp av print eller println., For eksempel,

System.out.format(.....);

syntaksen for disse to java.io.PrintStream metodene er de samme:

public PrintStream format(String format, Object... args)

der format er en streng som angir formatering til å bli brukt, og args er en liste av variabler som skal skrives ut ved hjelp av at formatering. Et enkelt eksempel vil være

Den første parameteren, format, er et format string angir hvordan objekter i den andre parameteren, args, er å være formatert., Formatet streng som inneholder ren tekst samt format specifiers, som er spesialtegn som format argumenter Object... args. (Notasjonen Object... args kalles varargs, noe som betyr at antall argumenter kan variere.)

Format specifiers begynner med et prosenttegn (%) og avslutte med en omformer. Det converter er et tegn som indikerer type argument for å være formatert. I mellom prosenttegn (%) og converter, kan du ha det ekstra flagg og specifiers., Det er mange omformere, flagg, og specifiers, som er dokumentert i java.util.Formatter

Her er et enkelt eksempel:

int i = 461012;System.out.format("The value of i is: %d%n", i);

%d angir at de enkelt variabel er et heltall. %n er en plattform-uavhengig newline karakter. Produksjonen er:

The value of i is: 461012

printf og format metodene er overbelastet., Hver har en versjon med følgende syntaks:

public PrintStream format(Locale l, String format, Object... args)

for Å skrive ut tall i det franske system (hvor et komma er brukt i stedet for desimal-plass i den engelske representasjon av flyttall), for eksempel, kan du bruke:

Et Eksempel på

Den følgende tabellen viser noen av de besøkende som konverterer og flagg som er brukt i eksempel program, TestFormat.java, som følger etter tabellen.,

Converters and Flags Used in TestFormat.java
Converter Flag Explanation
d A decimal integer.
f A float.
n A new line character appropriate to the platform running the application. You should always use %n, rather than \n.,
tB dato & tid konvertering—locale-spesifikke fullt navn av måneden.
td, te dato & tid konvertering—2-sifret dag av måneden. td har ledende nuller som nødvendig, te ikke.
ty, tY dato & tid konvertering—ty = 2-sifret år, tY = 4-sifret år.
tl dato & tid konvertering—time i 12-timers klokke.,
tM dato & tid konvertering—minutter i 2 sifre, med ledende nuller som er nødvendig.
tp dato & tid konvertering—locale-spesifikke am/pm (små bokstaver).
tm dato & tid konvertering—måneder i 2 sifre, med ledende nuller som er nødvendig.,
tD A date & time conversion—date as %tm%td%ty
08 Eight characters in width, with leading zeroes as necessary.
+ Includes sign, whether positive or negative.
, Includes locale-specific grouping characters.
Left-justified..
.3 Three places after decimal point.
10.,3 Ti tegn i bredden, høyrejustert, med tre steder etter desimaltegnet.

følgende program som viser noen av de formatering som du kan gjøre med format. Resultatet er vist i doble anførselstegn i den innebygde kommentar:

Merk: diskusjon i denne delen dekker kun det grunnleggende av format og printf metoder. Ytterligere detaljer kan bli funnet i Basic I/O – delen av Avgjørende trail, i «Formatering» side.,
Med String.format for å lage strenger er dekket i Strenger.

DecimalFormat Klasse

Du kan bruke java.text.DecimalFormat klassen til å kontrollere visningen av ledende og etterfølgende nuller, prefikser og suffikser, gruppering (i tusen) separatorer, og desimalskilletegn. DecimalFormat tilbyr stor fleksibilitet i formatering av tall, men det kan gjøre koden mer komplekse.,

eksemplet som følger skaper en DecimalFormat objekt, myFormatter, ved å sende et mønster strengen til DecimalFormat constructor., format() metode, som DecimalFormat arver fra NumberFormat, deretter startet av myFormatter—det aksepterer en double verdi som et argument, og returnerer formatert nummer i en streng:

Her er et eksempel på et program som illustrerer bruk av DecimalFormat:

output er:

123456.789 ###,###.### 123,456.789123456.789 ###.## 123456.79123.78 000000.000 000123.78012345.67 $###,###.### $12,345.67

Den følgende tabellen forklarer hver linje av produksjonen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *