`
OracleX
  • 浏览: 124229 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

String(百分比)转换成BIgDecimal类型

    博客分类:
  • J2SE
阅读更多

保存投资比例时出现问题,获得的是个String类型的,比如:54.3300%,但数据库中是BigDecimal类型。直接进行转换

BigDecimal.valueOf(Long.valueOf(s))会抛异常:”Exception in thread "main java.lang.NumberFormatException: For input string: “。也就是先转换成Long的做法不行,最后发现先转换成Double就没问题。

                String s="42.3100%";
		s=s.substring(0, s.length()-1);  //去掉“%”
		System.out.println("s="+s);      
		double d=Double.valueOf(s);
		BigDecimal b=BigDecimal.valueOf(d);
		System.out.println("b="+b);

输出结果是:

s=42.310
b=42.31
 

 

但现在还是不知道为什么不能直接转换成Long,难道Long的大小不能满足要求,还请高手解答

0
2
分享到:
评论

相关推荐

    BigDecimal类

    * `toString()`: 将 BigDecimal 对象的数值转换成字符串。 * `doubleValue()`: 将 BigDecimal 对象中的值以双精度数返回。 * `floatValue()`: 将 BigDecimal 对象中的值以单精度数返回。 * `longValue()`: 将 ...

    Java保留两位小数方法大全

    - `String.format("%.2f", d)` 将`d`按照指定格式转换成字符串。 #### 方法四:使用`NumberFormat` **原理**:`NumberFormat`是`java.text`包下的另一个类,可以用来格式化数字。通过设置`NumberFormat`对象的最大...

    jsp中百分比表示方法

    这段代码首先定义了两个字符串类型的数值,并将其转换为浮点数,计算它们的百分比。然后使用`DecimalFormat`对象的`format()`方法来格式化百分比的结果,并在JSP页面上输出。 #### 3. 总结与建议 - **选择合适的...

    java实现大数加法(BigDecimal)的实例代码

    然后,我们通过构造函数`BigDecimal(String val)`将字符串转换为`BigDecimal`对象,这里创建了`b1`和`b2`两个`BigDecimal`实例。 `BigDecimal`提供了许多操作方法,其中`add(BigDecimal val)`方法用于执行加法操作...

    java计算百分比值的方法

    1. 数值类型的转换:将整型转换为浮点型以进行精确计算。 2. 除法运算:计算部分值与总数的比例。 3. `DecimalFormat`类:用于格式化输出,确保百分比值的精度和格式。 4. `NumberFormat`类:提供了更灵活的格式化...

    js数据格式转化

    此外,如果你需要将字符串转换为整数,可以使用`BigDecimal`的`setScale()`方法结合`ROUND_DOWN`舍入模式,或者直接使用JavaScript自身的`parseInt()`或`parseFloat()`方法。 对于字符串自身拼接的方法,比如使用`...

    java(小数点,百分号处理)

    使用`DecimalFormat`可以很方便地将数字转换为百分比形式。 ```java DecimalFormat df = new DecimalFormat("##.00%"); double num = 0.47; String percent = df.format(num); // 输出:47.00% ``` 这里的模式字符...

    基于oracle小数点前零丢失的问题分析

    总之,Oracle数据库在处理数值类型到字符串类型转换时,需要注意数据类型的特性以及使用适当的函数和格式模型。对于存储小于1的小数,避免使用`CHAR`类型,或者在必要时结合`TO_CHAR`函数进行格式化,以防止小数点前...

    JAVA格式输出,JAVA格式输出

    首先,`NumberFormat`类提供了三个工厂方法来获取对应类型的格式器: 1. `getNumberInstance_r()`:返回一个用于格式化普通数字的`NumberFormat`实例。 2. `getCurrencyInstance_r()`:返回一个用于格式化货币值的`...

    java保留两位小数问题

    有时候,Java会自动将较大的数字转换成科学记数法的形式,这在很多场景下是不希望发生的。为了避免这种情况,可以使用`DecimalFormat`来指定格式化模式: ```java java.text.DecimalFormat df = new java.text....

    java语言程序设计(基础篇)第二章程序练习题标准答案.docx

    - **类型转换**: 在进行数学运算时,确保至少一个操作数是浮点类型,可以避免整数除法问题。 - **异常处理**: 可以考虑增加对非数字输入的错误处理机制,如使用 `try-catch` 块来捕获 `InputMismatchException`。 - ...

    《Java核心技术卷1》 学习笔记.doc

    - `NumberFormat`类用于数字、货币、百分比等格式化输出。 **3.9 控制流结构** - 与C/C++的不同之处在于Java没有`goto`语句。 - 标签化的`break`用于提前结束循环或块语句。 - 示例: ```java read_data: while ...

    java金钱处理方法实例详解

    注意,虽然返回的是一个String,但在实际项目中,可能需要将其转化为特定的货币类型,如`java.math.BigDecimal`或`java.util.Currency`。 2. 费率计算和手续费计算 费率计算通常涉及两个金额的百分比运算。例如,...

    Java期末复习-常用类库

    reverse方法反转字符串,length方法获取字符串长度,replace方法用于替换子字符串,delete方法删除指定范围的内容,substring方法用于截取子字符串,最后toString方法将内容转换为String对象。StringBuffer相对于...

    prettifynumbers:MCG带回家测试

    3. **format()方法**:`NumberFormat`和`DecimalFormat`都提供了一个`format()`方法,用于将数字转换成字符串。例如,`formatter.format(1234567.89)`会返回"1,234,567.89"这样的格式化字符串。 4. **国际化和本地...

Global site tag (gtag.js) - Google Analytics