相关疑难解决方法(0)

Java - Decimal Format.parse返回具有指定小数位数的double值

我希望能够在格式字符串中给出一些小数位,将字符串转换为Double.所以"###,## 0.000"应该给我一个Double到3的小数位.

编辑 - 为发生的事情添加了更多信息

用户在UI中输入值 - 输入到String中.规则是此值限制为3位小数.底层代码将值存储在数据库中,然后在计算中使用.因此,尾随小数位将导致计算略微超出预期.

我有以下代码:

try {
        // output current locale we are running under (this happens to be "nl_BE")
        System.out.println( "Current Locale is " + Locale.getDefault().toString() );

        // number in Central European Format with a format string specified in UK format
        String numberCE = "1,234567"; // 1.234567
        String formatUK = "###,##0.000";

        // do the format
        DecimalFormat formatterUK = new DecimalFormat( formatUK );
        Double valCEWithUKFormat = formatterUK.parse( numberCE ).doubleValue();

        // I want …
Run Code Online (Sandbox Code Playgroud)

java parsing decimal rounding decimalformat

12
推荐指数
2
解决办法
6万
查看次数

标签 统计

decimal ×1

decimalformat ×1

java ×1

parsing ×1

rounding ×1