`

double为0或0.0时异常

阅读更多

 

版本:struts2.1.6

发生:页面传递double类型变量

解决方法:

添加转换器DoubleConvert

 

package com;

import java.util.Map;   

import org.apache.struts2.util.StrutsTypeConverter;   

public class DoubleConvert extends StrutsTypeConverter {   

    @SuppressWarnings("unchecked")

	@Override  

    public Object convertFromString(Map context, String[] values, Class toClass) {   

        if (Double.class == toClass) {   

             String doubleStr = values[0];   

             Double d = Double.parseDouble(doubleStr);   

            return d;   

         }   

        return 0;   

     }   

  

    @SuppressWarnings("unchecked")

	@Override  

    public String convertToString(Map context, Object o) {   

        return o.toString();   

     }   

} 
 

新建配置文件xwork-conversion.properties到src

添加内容:

java.lang.Double=com.DoubleConvert

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    double数据类型

    根据IEEE 754标准,`double`类型的精度通常限制为大约15位有效数字,这在大多数情况下已经足够,但在涉及极端数值或高度敏感的计算时,例如财务计算等,这种精度可能不足以避免出现累积误差。 #### IEEE 754标准 ...

    c++ string转换double

    在复制字符串时,没有为字符数组添加终止符 `\0`,这可能导致 `atof` 函数的行为未定义。 **3. 更安全的转换方法** C++ 提供了更安全、更现代的方法来实现这一转换,即使用 `std::stod` 函数。这种方法不仅可以...

    java 除0发生的算术异常(ArithmeticException)

    如果为零,可以选择返回一个特殊值(如`Double.NaN`或`Integer.MIN_VALUE`),抛出自定义异常,或者提示用户输入有效的除数。 总的来说,`ArithmeticException`是Java中常见的运行时异常之一,通过合理的异常处理和...

    double浮点数转换成字符串源码

    - 整数部分的位数不够8位时,不足的部分被填充为`0`。 - 小数部分被正确地转换并截断到了10位。 - 小数点正确地插入到了整数部分和小数部分之间。 #### 总结 通过上述分析,我们可以了解到这段代码有效地实现了`...

    C++实现求倒数的方法

    然而,当`number`为0时,直接使用上述方法会导致除以零的运行时错误。在数学中,0的倒数是未定义的,因此在编程中我们也需要特殊处理这种情况。以下是一个处理0的倒数的C++函数示例: ```cpp #include double ...

    mfc可视化计算器编程

    以OnAdd()为例子讲解符号的处理函数,函数的功能是先判定之前按下字符时op的值,更具op的值来进行相应的运算。 void CCalcDlg::OnAdd() { //根据numfirst和numsecond和op的值分为5种状态。 if(numfirst!=0 && ...

    Java 数组平均值源码下载

    double sum=0.0; for (int i=0;i;i++) //避免数组下标越界异常 sum += table[i]; return sum / table.length; } public static void main(String args[]) { int x[] = {1,2,3,4}; System.out.println(...

    Java小数点的问题1

    同时,尽管0和-0在数值上被视为相等,但在比较中,`0.0 == -0.0`会返回`true`,但`Float.compareTo(-0.0, 0.0)`会认为-0小于0。 在Java中,基本类型的`float`和包装类`Float`之间的比较行为有所不同。`float`类型的...

    JAVA面试题汇总

    例如,int的默认值是0,double的默认值是0.0。 4. **异常处理**:在Java中,异常是程序运行时发生的错误。异常分为编译时异常(检查异常)和运行时异常(非检查异常)。运行时异常包括NullPointerException、...

    C#基础教程

    - `Convert.ToDouble`对null参数返回0.0,空字符串时抛出异常。它能转换多种类型的值,而不仅仅是字符串。 - `Double.Parse`对任何非数字字符串都会抛出异常。null参数也会引发异常。 相似地,`Double.TryParse`在...

    牛顿迭代法求方程的一个实根

    if (g(xk0) == 0.0) { // 如果导数值为0 cout 导数值为0." ; return false; } xk1 = xk0 - f(xk0) / g(xk0); // 计算下一个迭代值 // 检查是否满足收敛条件 if (fabs(xk1 - xk0) (f(xk1)) ) { x = xk1; ...

    Java理论与实践:您的小数点到哪里去了?

    同时,0.0和-0.0在浮点比较中被视为相等,但在包装类中,它们被视为不同的对象。 当需要精确的非整数表示时,例如在财务计算或数据库交互中,Java提供了java.math.BigDecimal类。BigDecimal可以进行任意精度的定点...

    使用Java编写不含任何BUG的计算器

    private double memory = 0.0; ``` 在`Calculator`类中,我们需要为每个功能创建一个方法。例如,加法可以这样实现: ```java public double add(double num) { return memory += num; } ``` 减法、乘法和除法...

    Java_数组练习题目1

    23. 数组的默认值:除了已知的char、Boolean、float和int的默认值外,其他类型的数组,如long的默认值是0L,double的默认值是0.0d,对象类型的默认值是null。 这些知识点涵盖了Java数组的基本操作,包括创建、初始...

    IOS上的计算器

    当调用清零函数时,将这个变量重置为0。在Swift中,这可能如下所示: ```swift var currentResult = 0.0 func clear() { currentResult = 0.0 } ``` 4. **后退**:撤销功能比较复杂,因为它需要记住之前的操作...

    JUnit_Test.zip_java 除法

    如果你使用的是Maven或Gradle,只需在pom.xml或build.gradle文件中添加JUnit依赖。然后,创建一个新的测试类,如`CalculatorTest`,并继承自`org.junit.jupiter.api.TestInstance`,这将使测试实例化为单例,便于...

    实现EXCEL 的xirr算法

    5. **应用Newton-Raphson方法**: 这是一个常用的数值求解方法,用于找到使函数值为0的根。每次迭代,我们都会更新XIRR的值,计算新的差值并进行调整。 6. **返回结果**: 当满足停止条件时,返回最终的XIRR值。 在...

    Java开发八股文面试汇总

    - **默认值**:byte、short、int、char默认为0,long为0L,float为0.0f,double为0.0d,boolean为false,对象为null。 8. **数组与引用**: - **数组**:数组是引用类型,复制数组时复制的是引用,两个数组指向...

    C#学习笔记

    - C# 中的变量在未被显式赋值之前具有默认值,例如布尔型默认为 `false`,数值型为 `0` 或 `0.0`。 - 如果一个变量未被显式赋值,则它将自动获得其类型的默认值。 - 当显式指定一个变量的初始值时,需要遵循正确...

    Java面试题7道,包含5道理论题和2道编程题

    异常是一种在程序运行过程中出现的错误或异常情况,如除零异常、空指针异常等。异常分为 checked exception 和 unchecked exception,其中 checked exception 是编译器要求程序必须处理的异常,而 unchecked ...

Global site tag (gtag.js) - Google Analytics