Java 如何预处理NaN的问题?

本文探讨了在项目系统中遇到的数值计算异常,特别是NaN(非数字)问题。通过Java的Float.isNaN()和Double.isNaN()方法进行预判,对可能出现的异常数值进行处理,确保用户界面的友好性。提供的代码Demo展示了如何检查并处理浮点数和双精度数的NaN情况,以避免异常值显示在用户界面上。
摘要由CSDN通过智能技术生成

背景

        项目系统中一般在统计报表类界面会有很多数字的操作,不管金额还是统计类数字数据,都需要对于用户端提供基本的友好性。当有些时候数据经过一段时间的平台运行之后,可能在原有的程序执行下会出现一些异常,这些异常计算的数值如NaN就会出现在用户的操作界面。特此记录一下如何花费最小的代价处理这类问题,特此纪要!

问题

        如何预处理NaN的问题?

Demo

        为了更方便快速的了解处理机制,大致概述一下对应的原理: 其实就是利用了基本类型包装类提供的一些基础方法对这类数值进行预判,然后初始化对应的阈值。
        下面是对应的随笔Demo: 

package com.company.float_;

import java.text.NumberFormat;

/**
 * Float.isNaN校验
 * @Explain Demo主要说明NaN非数字问题校验。
 */
public class FloatApi {

    public static void main(String[] args) {

        NumberFormat numberFormat = NumberFormat.getPercentInstance();
        float a = 0.0f;
        float b = 0.0f;
        float c = a / b;
        if (Float.isNaN(c)) {
            System.out.println(c);
            System.out.println("ladding...");
        } else {
            System.out.println("ni dada");
        }
        String format = numberFormat.format(c);
        System.out.println(format);

    }
}
package com.company.double_;

import java.text.NumberFormat;

/**
 * Double.isNaN校验
 * @Explain Demo主要说明NaN非数字问题校验。
 */
public class DoubleApi {

    public static void main(String[] args) {

        NumberFormat numberFormat = NumberFormat.getPercentInstance();
        double a = 0.0D;
        double b = 0.0D;
        double c = a / b;
        if (Double.isNaN(c)) {
            System.out.println(c);
            System.out.println("ladding...");
        } else {
            System.out.println("ni dada");
        }
        String format = numberFormat.format(c);
        System.out.println(format);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值