背景
项目系统中一般在统计报表类界面会有很多数字的操作,不管金额还是统计类数字数据,都需要对于用户端提供基本的友好性。当有些时候数据经过一段时间的平台运行之后,可能在原有的程序执行下会出现一些异常,这些异常计算的数值如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); } }