三:疑惑解答
Posted itzlg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三:疑惑解答相关的知识,希望对你有一定的参考价值。
1.java中的四舍五入:
// 方式一:BigDecimal方式
double f = 3.1315;
BigDecimal b = new BigDecimal(new Double(f).toString);
double f1 = b.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
注意:这里一定不要直接使用new BigDecimal(double)的构造方法,
而要使用new BigDecimal(new Double(1.1315).toString())的方式,不然会出现精确问题
// 方式二:DecimalFormat方式
//DecimalFormat默认采用了RoundingMode.HALF_EVEN这种类型,而且format之后的结果是一个字符串类型String
DecimalFormat df = new DecimalFormat("#.000");
System.out.println(df.format(new BigDecimal(1.0145)));//1.014
System.out.println(df.format(new BigDecimal(1.1315)));//1.132
// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。
//方法四:传统的Math.round四舍五入,改为支持指定精确位数的写法
Math.round(5.2644555 * 100) * 0.01d;
private static double myRound(double number,int index){
double result = 0;
double temp = Math.pow(10, index);
result = Math.round(number*temp)/temp;
return result;
}
注意:这里最好不要使用方法四,因为直接使用double继续计算,会出现精度丢失问题,比如0.5075乘以1000,结果是507.49999999,这样最后的四舍五入的结果就会出现误差。
转载来源:https://blog.csdn.net/w1014074794/article/details/53640731
2.echarts3与echarts2区别
echarts是百度推出的一个简单实用的图表控件,就个人看来,echarts2的大部分图表代码的可用性和美观性更好,相对而言,echarts3也有很多改进的地方,例如模块导入等和图标选项优化等,本人近期主要在用echarts做地图开发,就一些个人心得总结如下:
1、js文件:
? 首先是js文件,echarts3做了很大的优化,在echarts2中,对各种控件的类库管理的较为详细,有专门的目录结构来存放相关的js文件及相关资源,但是在引入文件的时候往往会很不方便,可能会一不小心就漏掉一个文件,而echarts3可以根据需要在下载项下直接根据所需的功能构架类库,使用时只要导入一个echarts.min.js文件就可以。
2、文件导入:
? 在echarts2中,require是作为模块化加载的入口,在使用过程中关于路径配置经常会出现问题,特别是制作地图的时候,而在echarts3中只需要在开头加一句
? 接下去只要调用接口就可以了。
3、离线地图:
? echarts2中离线地图的精确度存在很大的问题,特别是下钻到区县一级,边界线存在模糊、交叉、空白等问题,并且经常出现飞地,与实际地图出入较大,个人认为基本没什么用,在echarts3中对此做了很大的改进,基本解决了以上问题,市与市之间、区县与区县之间基本上不存在衔接问题。
? 另外,在echarts3中可以根据需要自主构建地图,这个服务给实际使用提供了很大的便利。
4、工具栏:
? 在echarts3的toolbox里面把辅助线功能取消掉了,图标变小了,总体上感觉echarts3里面的toolbox更丑了。
5、地图漫游工具:
? 在echarts3里面把地图漫游工具取消掉了,说实话,echarts2里面的地图漫游工具看着还是挺不错的,虽然并没有什么用。
6、坐标系:
? echarts3中,数据结构进行了统一化抽象,最常用的数据结构有:线性表、树、图。例如,线性表以及树、图的节点列表的结构可以归一化为这样的二维数组:
? echarts3中另一个重要的数据结构抽象是独立出了“坐标系”概念。事实上在 ECharts 2 中已经有grid、polar配置项存在,但是并不是按一个“坐标系”的理解去实现的。echarts3中,支持了直角坐标系(catesian,兼容 echarts2中的grid)、极坐标系(polar)、地理坐标系(geo)。
7、Option变动:
? 1)组件位置想x、y等变成了left、top,可以使用像素和百分比,适应性更强。
? 2)为了让结构更合理,echarts3中label被移出来和itemStyle平级。
? 根据官方说法,在echarts3中以前的用法也是兼容的,只是不推荐。
转载来源:https://blog.csdn.net/jnx1142410525/article/details/55056197
以上是关于三:疑惑解答的主要内容,如果未能解决你的问题,请参考以下文章