Aşağıdaki gibi bir çift biçimlendirmek için String.format (Dize, X biçiminde) nasıl kullanabilirim ???String.format() java çift biçiminde biçimlendirmek için
2354548,235 -> 2,354,548.23
teşekkürler! this link'dan çıkartılan
Aşağıdaki gibi bir çift biçimlendirmek için String.format (Dize, X biçiminde) nasıl kullanabilirim ???String.format() java çift biçiminde biçimlendirmek için
2354548,235 -> 2,354,548.23
teşekkürler! this link'dan çıkartılan
String.format("%1$,.2f", myDouble);
String.format
otomatik olarak varsayılan yerel kullanır.
kodu;
Double amount = new Double(345987.246);
NumberFormat numberFormatter;
String amountOut;
numberFormatter = NumberFormat.getNumberInstance(currentLocale);
amountOut = numberFormatter.format(amount);
System.out.println(amountOut + " " +
currentLocale.toString());
Bu örnekte çıkışı aynı sayıda biçim Yerel ile nasıl değiştiğini göstermektedir:
345 987,246 fr_FR
345.987,246 de_DE
345,987.246 en_US
String.format() yöntemini kullanmalıyım: '- ( – kike
public class MainClass {
public static void main(String args[]) {
System.out.printf("%d %(d %+d %05d\n", 3, -3, 3, 3);
System.out.printf("Default floating-point format: %f\n", 1234567.123);
System.out.printf("Floating-point with commas: %,f\n", 1234567.123);
System.out.printf("Negative floating-point default: %,f\n", -1234567.123);
System.out.printf("Negative floating-point option: %,(f\n", -1234567.123);
System.out.printf("Line-up positive and negative values:\n");
System.out.printf("% ,.2f\n% ,.2f\n", 1234567.123, -1234567.123);
}
}
Ve çıktısını: 1.234.567,123000
:
3 (3) +3 00003
Standart kayan nokta formatı: virgül ile 1234567,123000
Kayan nokta Negatif kayan nokta varsayılanı: -1.234.567,123000
Negatif kayan nokta seçeneği: (1.234.567,123000)Line-up pozitif ve negat ive değerler:
1.234.567,12
-1.234.567,12
manuel ayarlamak sembollerle biçimlendirmek istiyorsanız, bunu kullanın:
DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols();
decimalFormatSymbols.setDecimalSeparator('.');
decimalFormatSymbols.setGroupingSeparator(',');
DecimalFormat decimalFormat = new DecimalFormat("#,##0.00", decimalFormatSymbols);
System.out.println(decimalFormat.format(1237516.2548)); //1,237,516.25
Yerel tabanlı biçimlendirme olduğunu Yine de tercih etti.
Yararlı cevap! Ancak, son cümle "Yerel tabanlı biçimlendirme tercih edilir, ancak" mantıklı değil hout içeriği. Dize'nin belirli bir biçimini oluşturmak istediğinizde, yerel tabanlı biçimlendirmeyi kullanmamanız gereken oldukça iyi kullanım durumları vardır. Örneğin. Verilerinizin harici bir dosyaya aktarılmasını gerçekleştiriyorsunuz ve geçerli (veya herhangi bir) yerel ayarlara bağlı olmayan, biçim üzerinde tam denetime sahip olmak istiyorsunuz. –
String.format("%4.3f" , x) ;
Bu, ondalıktan sonra 3 olması gereken ans içinde toplam 4 hane ihtiyacımız olduğu anlamına gelir. Ve f, çift biçimindeki biçim belirtecidir. x, onu bulmak istediğimiz değişkeni ifade eder. Benim için çalıştı. . .
Sanırım ondalık basamaktan sonra 3 sıraya sahip olan argümanlarda dördüncü değişken olacak. –
Ayrıca, belirli bir yerel ayarı 'String.format (Locale.GERMAN,"% 1 $,. 2f ", myDouble); –
Biçimlendirmek için birden fazla çift varsa,% 1,% 2 vb. Kullanın. Örneğin String.format ("% 1 $,. 2f,% 2 $ ,. 2f", myDouble, aDouble) – Moesio
I "% 1 $" seçeneğinin bu durumda isteğe bağlı olduğuna inanıyorum. Sadece "% ,. 2f" biçimindeki String için şu şekilde çalışır: –