Sayı ile ondalık arasında özel dize ekleme - Java DecimalFormat

Merhaba ve yardımlarınız için şimdiden teşekkür ederim.

HTML fiyatını işaretlemek için Java işlevini kullanmakta bazı biçimlendirme sorunları yaşıyorum.

Görünen o ki, ne yaparsam yapayım, sayılarla ondalık arasında özel içerik ekleyemiyorum (Yasadışı Tartışma İstisnası atar). Aşağıdakileri başarmanın bilinen bir yolu var mı:

NumberFormat nf = getNumberFormat("''##''.''00''", locale);
nf.format(number);

Yerel ayarın ve sayının doğru şekilde başlatıldığını varsayalım.

0
getNumberFormat nedir? Sadece DecimalFormat yapıcısını mı çağırıyor?
katma yazar Jon Skeet, kaynak
Sorun olmayabilir, ancak göremediğimiz kod . Göremediğimiz kodda neyin yanlış olduğunu teşhis etmeyi kastediyoruz? Cevabımı yazdım varsayım sadece DecimalFormat yapıcısını çağırıyor, ancak bunun yerine bize tam bir kod örneği vermiş olsaydınız iyi olurdu.
katma yazar Jon Skeet, kaynak
Evet, ama bunun yardım etmek için anlamı nedir? Temelde şöyle dedin: "Size göstermeyeceğim bir yöntem aradım ve bir IllegalArgumentException atıldı." getNumberFormat içindeki kod bildiğimiz herkes için parametreleri tamamen görmezden geliyor olabilir. Kodu sunmak sizin için ilginizdir - bir cevaptan kazanacak olan sizsiniz. Potansiyel cevaplayıcıları tahmin etmeyin. Lütfen tinyurl.com/so-hints adresini okuyun.
katma yazar Jon Skeet, kaynak
NumberFormat nesnesi elde etmek için fabrika yöntemi, burada sorun değil.
katma yazar grim, kaynak
@JonSkeet Sorunun yasadışı argüman istisnası olduğunu belirttim
katma yazar grim, kaynak
@JonSkeet Haklısın, özür dilerim
katma yazar grim, kaynak

2 cevap

DecimalFormat önek ve sonek metinleri hakkında konuştuklarını göreceksiniz - ancak bir metin içine isteğe bağlı metinler koymayacaksınız.

Temelde bu biçimlendirme bitini kendiniz yazmalısınız - muhtemelen sayının her bölümü için DecimalFormat kullanın.

1
katma
Aptal, bu doğru gibi görünüyor. Teşekkür ederim.
katma yazar grim, kaynak

String.format (String pattern, Object ... arguments) kullanmayı düşünebilirsiniz. Basitçe biçimlendirilmiş numaralarınızı argüman olarak iletebilirsiniz.

0
katma