Java 如何制作数字格式?

Java 如何制作数字格式?,java,android,Java,Android,我想格式化从本地数据库收到的号码 示例: holder.mTextViewHarga.setText("Rp. " + mProdukList.get(position).gethargaProduk()); 10000至10000或1000000至100000 我的代码: holder.mTextViewHarga.setText("Rp. " + mProdukList.get(position).gethargaProduk()); 我之前必须尝试此代码,但仍然存在错误: Locale

我想格式化从本地数据库收到的号码

示例:

holder.mTextViewHarga.setText("Rp. " + mProdukList.get(position).gethargaProduk());
10000至10000或1000000至100000

我的代码:

holder.mTextViewHarga.setText("Rp. " + mProdukList.get(position).gethargaProduk());
我之前必须尝试此代码,但仍然存在错误:

Locale localeID = new Locale("in", "ID");
NumberFormat formatRupiah = NumberFormat.getCurrencyInstance(localeID);

holder.mTextViewHarga.setText("Rp. " +formatRupiah.format((double) mProdukList.get(position).gethargaProduk()));

您需要使用数字格式化程序,如下例所示:

NumberFormat myFormatter = new DecimalFormat("#.###");
double myNumber = 1234.5632;
String formattedNumber = myFormatter.format(myNumber);
而formattedNumber将等于“1234.563”

从开始,答案是

Locale localeID = new Locale("in", "ID");
String pattern = "###,###.###";
NumberFormat nf = NumberFormat.getNumberInstance(localeID);
DecimalFormat df = (DecimalFormat)nf;
df.applyPattern(pattern);
String output = df.format(value);
使用DecimalFormat()


输出-d1将是100.24

十进制格式类:它是一个Java类,允许我们以所需格式显示数字,可以限制小数,使用句点、逗号等。例如

//required import
import java.text.DecimalFormat;
DecimalFormat formatter = new DecimalFormat("####.####");
//It prints four decimals, like this: 7,1234
System.out.println (formatter.format (7.12342383));
如果我们使用零而不是#,则不存在的数字将用零填充,例如:

DecimalFormat formatter = new DecimalFormat("0000.0000");
//It prints: 0001,8200
System.out.println (formatter.format (1.82));
我们还可以在掩模中使用百分号(%),因此在打印时数字将自动乘以100

DecimalFormat formatter = new DecimalFormat("###.##%");
//It prints: 68,44%
System.out.println (formatter.format(0.6844));

您可以发布您正在获取的错误的详细信息,包括错误消息和堆栈跟踪吗?