ACM中用Java水高精度需要注意的2个地方
2012-01-10 01:46
295 查看
java中的 bigdecimal 和 biginteger 实在是太好用了,比起自己死活用c++敲高精度好得多。
但是一般来说遇到,acmer会遇到2个问题:
格式化输出问题。
网上一大堆介绍用 numformat 和 decimalformat 格式化输出的文章,但是用那2个类格式化输出,谈何容易。所以对于用开 c/c++ 的 acmer 来说,用java中的 sprintf 吧。
代码:
system.out.printf("%4d", i);
小数点输出问题。话说这个用c++解决也不是一件简单问题,对于 biginteger or bigdecimal ,一般是转化为 string,再转化为 char[] 进行处理。使用的方法是:
biginteger sum = new biginteger("0");
char[] temp = sum.tostring().tochararray();
其实,bigdecimal 里面还有一个函数 toplainstring() ,转化而成的 string 就是用普通计数法的,不会考虑用科学计数法的。所以对于 bigdecimal 的转化用:
bigdecimal obj = new bigdecimal("0.00000001");
char[] out = obj.toplainstring().tochararray();
用java水高精度,肯定要学一点点java的语法的。虽然eclipse的语法纠正很智能,那个“.”后面弹出来的函数选择框也非常的爽,不过一点点的java基本语法还是需要的。所以推荐一篇文章: http://www.cnblogs.com/bless/archive/2008/11/25/1341003.html java作为编程语言里面最多人用的语言之一,我觉得,还是应该认真学习下才好。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定
这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
但是一般来说遇到,acmer会遇到2个问题:
格式化输出问题。
网上一大堆介绍用 numformat 和 decimalformat 格式化输出的文章,但是用那2个类格式化输出,谈何容易。所以对于用开 c/c++ 的 acmer 来说,用java中的 sprintf 吧。
代码:
system.out.printf("%4d", i);
小数点输出问题。话说这个用c++解决也不是一件简单问题,对于 biginteger or bigdecimal ,一般是转化为 string,再转化为 char[] 进行处理。使用的方法是:
biginteger sum = new biginteger("0");
char[] temp = sum.tostring().tochararray();
其实,bigdecimal 里面还有一个函数 toplainstring() ,转化而成的 string 就是用普通计数法的,不会考虑用科学计数法的。所以对于 bigdecimal 的转化用:
bigdecimal obj = new bigdecimal("0.00000001");
char[] out = obj.toplainstring().tochararray();
用java水高精度,肯定要学一点点java的语法的。虽然eclipse的语法纠正很智能,那个“.”后面弹出来的函数选择框也非常的爽,不过一点点的java基本语法还是需要的。所以推荐一篇文章: http://www.cnblogs.com/bless/archive/2008/11/25/1341003.html java作为编程语言里面最多人用的语言之一,我觉得,还是应该认真学习下才好。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定
这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
相关文章推荐
- ACM中用Java水高精度需要注意的2个地方
- java项目需要注意编码方式的地方
- Java的final变量需要注意地方
- java HashMap需要注意的一些地方
- JAVA性能优化需要注意的26个地方
- Socket:java与C之间的文件传送<3>(JAVA与C通信需要注意的地方)
- Java开发者写SQL时常需要注意的8+13个地方
- 26个提升java性能需要注意的地方
- JAXB实现XML和java对象互转以及soapXml和对象互转需要注意的地方
- 26个提升java性能需要注意的地方
- java项目写yml配置文件时候需要注意的几个地方
- Java 得到指定数据Excel2003 与2007需要注意的地方
- Java泛型需要注意的地方
- CMD下使用javac和java命令需要注意的地方
- Java中String的split()方法的一些需要注意的地方
- 从头认识java-15.3 使用HashSet需要注意的地方
- 使用Java中的final变量需要注意的地方。
- java switch 需要注意的地方
- java开发初学者需要注意的地方
- java学习中需要格外注意的地方