NumberFormat API 说明
Posted
技术标签:
【中文标题】NumberFormat API 说明【英文标题】:NumberFormat API clarification 【发布时间】:2013-09-11 11:41:41 【问题描述】:直接来自此 API:
NumberFormat 可帮助您格式化和解析任何语言环境的数字。 您的代码可以完全独立于语言环境约定 小数点,千位分隔符,甚至是特定的小数 使用的数字,或数字格式是否为偶数。
or even the particular decimal digits used, or whether the number format is even decimal.
是什么意思?
【问题讨论】:
【参考方案1】:我可以举一个这样的例子——日元。 在日元中,没有什么比 1.2 日元更好的了;它总是一个整数,最低面额是 1 日元。所以日元的货币金额永远不会有小数位。
在印度,100 万显示为 10,00,000;而同样的美元是 1,000,000。
运行以下代码以查看数字语言环境的美妙之处:
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;
// The following example code demonstrates converting a number
// (double) into a formatted String according to different
// number formatting standards in various countries
public class FormatDecimalLocalFormat
public static void main(String[] args)
// circumference of earth in km
double number = 40075.168776;
// Germany
DecimalFormat df = (DecimalFormat) NumberFormat.getInstance(Locale.GERMAN);
System.out.println(df.format(number));
// United states
df = (DecimalFormat) NumberFormat.getInstance(Locale.US);
System.out.println(df.format(number));
// China
df = (DecimalFormat) NumberFormat.getInstance(Locale.CHINESE);
System.out.println(df.format(number));
// France
df = (DecimalFormat) NumberFormat.getInstance(Locale.FRENCH);
System.out.println(df.format(number));
输出确认到
您的代码可以完全独立于 小数点,千位分隔符,甚至是特定的小数 使用的数字,或数字格式是否为偶数。
40.075,169
40,075.169
40,075.169
40 075,169
【讨论】:
你还没有回答我的问题 请重新格式化您的问题。我猜你已经问过,语言环境的变化如何使代码/数据独立于表示;这个给定的工作代码就是最好的例子。 我可以附议:与其对接近答案的尝试投反对票,不如花时间澄清问题,这显然不像您想象的那么清楚。 我明确指出了我不清楚的地方。这就是我不明白的。但是,如果您没有得到问题。我指的是我突出显示的引用部分,这不是您的示例所显示的。 您的示例显示:Your code can be completely independent of the locale conventions for decimal points, thousands-separators,
。我已经彻底理解了这个概念,这就是您在回答中所解释的。我想知道引用的其余部分的含义,即or even the particular decimal digits used, or whether the number format is even decimal.
以上是关于NumberFormat API 说明的主要内容,如果未能解决你的问题,请参考以下文章