简单我想让我的输出(TextView)从字符串如Rp.40000变为Rp.40.000
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
//Mengambil data dari intent
DecimalFormat formatter = new DecimalFormat("#,###,###");
Intent i=getIntent();
String npwp = i.getStringExtra(TAG_NPWP);
String statusspp = i.getStringExtra(TAG_STATUSSPP);
String tglsp2d= i.getStringExtra(TAG_TGLSP2D);
String jumlahtotal = i.getStringExtra(TAG_JUMLAH);
TextView textName=(TextView)findViewById(R.id.textName);
TextView textLat=(TextView)findViewById(R.id.textLat);
TextView textLon=(TextView)findViewById(R.id.textLon);
TextView textPrice=(TextView)findViewById(R.id.textPrice);
textName.setText("Nama : "+npwp);
textLat.setText(statusspp);
textLon.setText("TglSp2D : "+tglsp2d);
textPrice.setText("Jumlah : Rp "+jumlahtotal);
答案 0 :(得分:1)
我希望这会有所帮助:
NumberFormat numberFormatter = NumberFormat.getCurrencyInstance(new Locale("in", "ID"));
textPrice.setText("Jumlah : "+ numberFormatter.format(40000));
而不是40000
传递您想格式化的数字。
编辑:如果您拥有的值是字符串,并且它是有效数字:
NumberFormat numberFormatter = NumberFormat.getCurrencyInstance(new Locale("in", "ID"));
Double number = Double.parseDouble(yourString);
textPrice.setText("Jumlah : "+ numberFormatter.format(number));
答案 1 :(得分:0)
您可以使用
DecimalFormatSymbols.setGroupingSeperator
public static void main(String[] args) {
int val = 40000;
DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance();
dfs.setGroupingSeparator('.');
DecimalFormat formatter = new DecimalFormat("#,###",dfs);
System.out.println(formatter.format(val));
}