我有一个价值10,000,000.00 (一千万)的双精度数。我必须将其转换为String。当使用toString方法时,我得到的String是"1.0E7“,它符合规范。不幸的是,我需要String "10,000,000.00“(或等效的,取决于地区)。
如何才能做到这一点?
发布于 2009-10-05 16:42:04
试一试
NumberFormat http://java.sun.com/javase/6/docs/api/java/text/NumberFormat.html
DecimalFormat http://java.sun.com/javase/6/docs/api/java/text/DecimalFormat.html
发布于 2009-10-05 16:50:37
除了格式化程序之外,您还可以考虑使用java.math.BigDecimal类来精确表示数字。
需要完全准确的计算,例如财务计算,最好使用BigDecimal执行。浮点数学更适合于工程、图形和其他数学计算,在这些计算中,可以牺牲一些精度来换取速度。
发布于 2009-10-05 17:21:38
public static void main(String[] args) throws ParseException {
double aDouble = 10000000.00;
DecimalFormat nf = (DecimalFormat) NumberFormat.getInstance(Locale.US);
String aString = Double.toString(aDouble);
System.out.println(nf.parse(aString));
}https://stackoverflow.com/questions/1521122
复制相似问题