`

java科学计数法转普通计数法字符串简易方法

    博客分类:
  • java
阅读更多
java科学计数法转普通计数法字符串简易方法,不需要format;
String t = "2.0090102E9";
BigDecimal b = new BigDecimal(t);	
System.out.println(b.toPlainString()); 

输出:
2009010200
2
0
分享到:
评论
2 楼 xunke515 2013-05-06  
挺好~,感谢
1 楼 modiliany 2012-04-09  
楼主没有试过大数值吧?位数大了,BigDecimal出误差

    double[] testData = {  
                    //测试数据一  
                    0,  
                    1,  
                    10,  
                    100,  
                    1000,  
                    10000,  
                    100000,  
                    1000000,  
                    10000000,  
                    100000000,  
                    1000000000,  
                    10000000000d,  
                    100000000000d,  
                    1000000000000d,  
                    10000000000000d,  
                    100000000000000d,  
                    1000000000000000d,  
                    10000000000000000d,  
                    100000000000000000d,  
                    //测试数据二  
                    110000000000000000d,  
                    101000000000000000d,  
                    100100000000000000d,  
                    100010000000000000d,  
                    100001000000000000d,  
                    100000100000000000d,  
                    100000010000000000d,  
                    100000001000000000d,  
                    100000000100000000d,  
                    100000000010000000d,  
                    100000000001000000d,  
                    100000000000100000d,  
                    100000000000010000d,  
                    100000000000001000d,  
                    100000000000000100d,  
                    100000000000000010d,  
                    100000000000000001d,  
                    //测试数据三  
                    101010101010101010d,  
                    100100100100100100d,  
                    100100010010001000d,  
                    100100001000010001d,  
                    100001000001000001d,  
                    100010000100010010d,  
                    111111111111111111d,  
                    123456789012345678d,  
                    //测试数据四  
                    1000000000000000000d  
            };  
      
      
      
//		String str = new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
		String str = new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString();

//		DecimalFormat format = new DecimalFormat();
//		format.applyPattern("#################0.00");
//		String str = format.format(d);
              
      
    //三种结果都是:  
    //100000000000001000 格式化之后是:  
    //100000000000000992  

相关推荐

    java中将科学计数法转换普通计数法的简单方法

    1. `toString()`方法:这个方法将`BigDecimal`对象转换为其标准的科学计数法字符串表示。在示例中,`db.toString()`返回的就是“1.123456789E7”,这是科学计数法的形式。 2. `toPlainString()`方法:这个方法则是...

    java字符串格式化String.format()

    - **`g`, `G`**:根据具体情况,自动选择普通表示方式还是科学计数法方式。 - **`a`, `A`**:十六进制浮点数表示。 #### 六、对字符进行格式化 字符格式化非常简单,使用`c`表示字符,`-`表示左对齐。 #### 七、对...

    Java字符串 日期 数字格式化输出-.doc

    | E | 科学计数法 | | % | 百分比格式化 | 日期格式化输出 Java 中的日期格式化输出可以使用 DateFormat 类来实现。DateFormat 类提供了多种工厂方法来获取日期格式化对象,例如 getDateInstance、getTimeInstance...

    EL表达式包括字符串处理,时间日期的格式化,数字处理

    例如,可以使用字符串对象的`.toLowerCase()`方法将字符串转换为小写。 示例: ```jsp 假设request中有名为name的字符串 --%> ${name}".toLowerCase() %> ``` ##### 3.2 时间日期的格式化 虽然EL本身并不直接支持...

    JSP导出Excel,数字格式化成字符串

    本篇文章主要探讨的是如何在JSP中导出Excel时,正确处理数字格式,防止其被默认格式化为科学计数法。 首先,我们需要理解为什么数字在Excel中会变成科学计数法。这是由于Excel为了节省空间和显示大量的数值数据,...

    Java字符串 日期 数字格式化输出.doc

    模式中包含一些特殊字符,如0和#,用于填充和省略数字,还有小数点、千位分隔符、科学计数法和百分比等。例如: ```java DecimalFormat df = new DecimalFormat("0.00"); System.out.println(df.format(3.14159)); ...

    简单的科学计算器JAVA代码实现

    要实现科学计数法,我们需要检查数值是否过大或过小,然后转换为科学计数法的字符串形式。可以使用`NumberFormat`类的`format()`方法来完成这个任务。 以下是一个简化的代码示例: ```java import java.util....

    Java判断字符串是不是数字过程解析

    然而,这种方法存在局限性,比如它无法识别负数、浮点数、科学计数法表示的数字、二进制、八进制或十六进制数字,以及带有分隔符的数字。 以下是一个示例代码,展示了使用`Character.isDigit(int)`方法判断字符串...

    利用ScriptEngineManager实现字符串公式灵活计算的方法

    "利用ScriptEngineManager实现字符串公式灵活计算的方法" 在开发中,我们可能会遇到很多不固定的公式计算,例如将Excel中的大量计算公式转换成Java语言进行实现。如果单纯地用Java的基本方法实现计算,我们就需要...

    异或计算器及字符串之间的转换

    总的来说,这个“异或计算器及字符串之间的转换”涵盖了数字和字符串的异或运算,以及与之相关的位操作和十进制转换。它不仅是一个实用的工具,也是学习和理解计算机底层运作原理的有益资源。通过使用和研究这个工具...

    NumberUtils判断是否数字java中验证只能是数字.doc

    使用 NumberUtils 判断是否为数字的优点是可以处理各种格式的数字,包括整数、浮点数、科学计数法等。此外,NumberUtils 还提供了其他有用的方法,例如将字符串转换为数字、将数字格式化为字符串等。 在实际开发中...

    Java数据格式转换成json

    - **数字**: 整数或浮点数,不包括科学计数法中的 “e” 或 “E”。 - 示例: `123`、`3.14` - **布尔值**: `true` 或 `false`。 - **null**: 表示空值。 **2. 复合数据类型** - **数组**: 有序的值列表,使用方...

    如何将数字型转换成货币型

    它继承自`NumberFormat`类,提供了一套灵活的方式来格式化数字,包括但不限于整数、小数、百分比、科学计数法以及货币格式等。通过定义不同的模式(pattern),可以轻松地满足各种场景下的需求。 #### 2. `...

    java语言实现回文数字的判断

    ### Java语言实现回文数字的判断 ...这种方法简单明了,易于理解和实现,适合于初学者学习和掌握。此外,还可以进一步扩展此程序,比如增加异常处理机制以增强程序的健壮性,或者通过图形界面方式提高用户体验等。

    Eric.rar_Eric

    在编程语言中,如Python,可以使用内置的`eval()`函数来解析和执行简单的字符串表达式,但对于复杂情况,如括号嵌套和科学计数法,可能需要自定义解析和计算逻辑。在C++或Java等语言中,可能需要使用栈来处理运算符...

    十进制转换二进制,使用对2取模和内置的函数两种算法实现

    这种方法涉及到对原始十进制数进行除以2的运算,然后将每次除法的余数添加到结果字符串的前面,直到被除数变为0。这是一个手动实现二进制转换的过程: ```java int decimal = 88; // 十进制数 String binary = ...

    《Java语言程序设计(一)》课后习题答案(课程编号04747)

    - **浮点数常量**:含有小数点或科学计数法表示。 - **其他**:不属于以上两种的数据。 #### 第二章 运算和语句 **2.1 Java的字符能参加算术运算吗?** - 字符在Java中可以参与算术运算,因为字符实际上被当作其...

    04747《Java语言程序设计(一)》课后习题答案

    * 浮点数类型常量的书写方式:可以使用十进制、科学计数法等多种方式。 运算和语句 * JAVA中的字符不能参加算术运算,但可以参加字符串操作。 * 占字节多的变量不能直接赋值给占字节少的变量,需要进行强制类型...

    java代码-BigDecimal转String

    除了上述方法,还有一些其他转换策略,例如使用`toPlainString()`方法,它会返回不带科学计数法的字符串表示。此外,如果你正在使用`NumberFormat`或者`Locale`,可以使用`NumberFormat.getInstance(Locale)`来获取...

Global site tag (gtag.js) - Google Analytics