`

BigDecimal 值 0E-7

阅读更多
引用

BigDecimal值‘0’,在IBM的JDK下,我调用setScale(8)方法得到新值为‘0.00000000’,
可是我在用sun的JDK下调用setScale(8)得到值为‘0E-8’


引用

两个是相等的只是实现的toString有点区别,
jdk里的方法输出什么不能改变,sum里的setScale(int)就是返回unscaledValue × 10-scale
7以上就会用0E-7表示toString
你想要sun的jdk也实现0.00000000可以这样
        BigDecimal big = new BigDecimal(0);
        DecimalFormat df=new DecimalFormat("0.00000000");
        String str=df.format(big);
        System.out.println(str);



这个会导致jsp页面输出OE-8,而不是0.00000000
或者数据库精度不要超过6就ok,不用考虑那么多麻烦

分享到:
评论

相关推荐

    java求e的近似值.docx

    \[ e = \sum_{n=0}^{\infty} \frac{1}{n!} = 1 + \frac{1}{1!} + \frac{1}{2!} + \frac{1}{3!} + \cdots \] 这里的 \( n! \) 表示 \( n \) 的阶乘,即所有从 1 到 \( n \) 的正整数的乘积。例如,\( 2! = 2 \times ...

    Java-关于基本数据类型中浮点数计算产生的精度问题

    简单关于BigDecimal类 在基本数据类型中,float和double都表示浮点型数据,而计算机计算采取的是对二进制的计算,所以会存在一定程度上的精度丢失问题。 BigDecimal类是一个大小数操作类,可以用来对超过16位有效位...

    Java中八种基本数据类型的默认值

    - float(单精度浮点型)是32位的,其值域大约是1.4e-045到3.4e+038,精确到6-7位小数。在声明float类型时,数值后面必须加上后缀"F"。float类型的默认值是0.0f。 - double(双精度浮点型)是64位的,其值域大约...

    java中math类的使用

    `Math.E`表示自然对数的底数e的值,大约等于2.718281828459045。这个常量在指数和对数运算中非常有用,尤其是在涉及自然对数或指数函数的场景下。 ### 方法 #### Math.abs() `Math.abs()`方法用于计算一个数值的...

    DanBerghJohnsson_ThePowerOfValuePowerUseOfValueObjectsInDomainDrivenDesign

    void onlineTransaction(StoreId store, BigDecimal amount) { Currency storeCurrency = storeService.getCurrency(store); if (storeCurrency.equals(cardCurrency)) { debt = debt.add(amount); } else if ...

    逆向工程代码生成

    NUMERIC 类型解析为java.math.BigDecimal --> <!-- targetProject:生成PO类的位置 --> targetProject=".\\src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <!-- 从...

    处理较大数字的PHP库.zip

    一般的float型和Double型数据只可以用来做科学计算或者 是工程计算,由于在商业计算中,要求的数字精度比较高,所以要用到java.math.BigDecimal类,它支持任何精度的定点数,可以用它来精确 计算货币值。

    2021-2022计算机二级等级考试试题及答案No.10161.docx

    - G: `0xfdaL`(十六进制加长整型后缀L表示的长整型数) - I: `'\'`(转义字符表示的斜杠) - J: `"\""`(字符串表示的双引号) #### 题目6: Java中的方法重载 - **知识点**:方法重载(Overloading)允许在一个...

    JAVA API 总结

    4. **`BigDecimal multiply(BigDecimal multiplicand)`**:返回两个 `BigDecimal` 值的乘积。 5. **`BigDecimal divide(BigDecimal divisor)`**:返回两个 `BigDecimal` 值的商。 #### 九、SimpleDateFormat 类 **...

    科学计数法转换时间戳 科学计数法转换时间戳

    创建一个`BigDecimal`对象,传入科学计数法的字符串,如`new BigDecimal("2.7811E+12")`。 2. **转换为整数**:`java.sql.Timestamp`需要的是毫秒值,所以需要将浮点数转换为整数,这可以通过`Long.parseLong`实现...

    Java与MySQL中小数保存问题解析.pptx.pptx

    此外,Java还支持科学计数法,这种表示方式可以有效地表示非常大或非常小的数值,例如3.4E-2代表0.034。 MySQL数据库则提供了多种小数类型,包括浮点型(FLOAT和DOUBLE)和定点型(DECIMAL)。浮点型小数使用科学...

    java的一些简单语法

    - 对于需要高精度计算的场景,如金融计算,可以使用`BigInteger`和`BigDecimal`。 #### 十一、初始化 Java为所有成员变量提供了默认初始化,但需要注意的是,局部变量不会得到这样的处理,必须手动初始化。 #### ...

    CoreJava面试技巧1.19.pdf

    - 对于`byte`类型的值进行二进制转换时,需要先将其转换为`int`类型,通常使用按位与运算来保留低8位的有效信息: ```java byte b = 127; String binaryString = Integer.toBinaryString(b & 0xFF); ``` #### ...

    google-currency-connector:一个 Mule DevKit Connector 项目,使用 Google Finance HTML 表单进行实时货币转换

    它将连接到提供以下参数: 要转换的价格值(BigDecimal) 从货币(字符串) - 它使用谷歌方面给出的缩写(例如欧元,美元,AED,...) To currency (String) - 所需的转换值连接器输出的结果是一个具有以下属性的 ...

    Java编程练习题

    if (chars[i] == 'A' || chars[i] == 'E' || chars[i] == 'I' || chars[i] == 'O' || chars[i] == 'U') { count++; // 统计元音字母数量 } } System.out.println("其中元音字母有" + count + "个!"); } } ```...

    2021-2022计算机二级等级考试试题及答案No.9708.docx

    E-mail 地址格式 **知识点概述:** - E-mail 地址由用户名和域名两部分组成,中间以 "@" 分隔。 **深入理解:** - E-mail 地址的格式通常为 `username@domain.com`。 - 用户名部分通常由字母、数字和一些特殊字符...

    题目参考-基于编码规范的样题集合.pdf

    - 异常处理是程序中的关键部分,应该明确地捕获和处理异常,避免使用`catch (Exception e)`这样的广义捕获,这可能会掩盖潜在的问题。 - 抛出异常时,应提供详细的异常信息,便于调试和问题定位。 - 避免在...

    编译原理语义分析实验报告

    【编译原理语义分析实验报告】实验报告主要围绕如何在词法分析和语法分析后进行语义分析,生成四元式并计算表达式的值。实验的目的是在理解语法制导翻译的基础上,根据指定的产生式和语义规则,实现程序的逻辑功能。...

    java经验总结资料

    - **使用 BigDecimal 类**:对于需要高精度计算的情况,推荐使用 `BigDecimal` 类。它可以提供任意精度的十进制数计算能力。 - **使用 Math 类**:对于基本的数学运算,如四舍五入,可以使用 `Math` 类提供的方法,...

Global site tag (gtag.js) - Google Analytics