代码之家  ›  专栏  ›  技术社区  ›  Suresh

将long转换为bigdecimal

  •  31
  • Suresh  · 技术社区  · 16 年前

    我如何铸造 Long BigDecimal ?

    6 回复  |  直到 12 年前
        1
  •  47
  •   jjnguy Julien Chastang    16 年前

    你必须创建一个新的 BigDecimal .

    BigDecimal d = new BigDecimal(long);
    
        2
  •  19
  •   Gareth Davis    16 年前

    为了完整起见,您可以使用:

    // valueOf will return cached instances for values zero through to ten
    BigDecimal d = BigDecimal.valueOf(yourLong);
    

    0到10是Java 6的实现,不确定以前的JDK。

        3
  •  14
  •   Fico    12 年前

    您不应该使用bigdecimal d=new bigdecimal(long);!!

    long的bigdecimal实现不精确。 对于金融应用来说,这是至关重要的!

    但是字符串参数的实现更好! 因此,使用如下内容:

    new BigDecimal(yourLong.toString());
    

    有个谈话 http://www.parleys.com/ 关于这个。

        4
  •  4
  •   jjnguy Julien Chastang    16 年前

    你不能铸造它。您可以创建一个新的 BigDecimal 不过。你可以得到一个 long 从A Long 使用 Long.getLongValue() 如果你长得不正宗。

    BigDecimal bigD = new BigDecimal(longVal);
    
        5
  •  2
  •   Mike Pone    16 年前

    您需要创建一个新的BigDecimal对象

      Long test = new Long (10);
      BigDecimal bigD = new BigDecimal(test.longValue());
    
        6
  •  0
  •   Fredou    16 年前

    你必须创建一个新的BigDecimal

    how to do it