关于科学记数法如何转换为普通的记数法? double d = 20E5; System.out.println(d);科学记数法在java里使用double来表示的,无需转换,可直接使用。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 的确如cold_blooded所说。谢谢~可是如果我之前需要对20E5做处理的话,就好像要先把他转换为普通记数法啊~比如:double d = 20E5; System.out.println("d = "+d);~~~~~~~~~~~~d = 2000000.0我需要去掉小数点,然后小数点后面补两个零。 我是这样写的,大家看看,多指教~ //检查是否为科学记数法 char checkchar = 'E'; if (amountstr != null) { amountstr = amountstr.trim(); } for (int amountstrlen=0;amountstrlen<amountstr.length(); amountstrlen++) { char amountstrchar = amountstr.charAt(amountstrlen); if (amountstrchar == checkchar) { amountboolean = true; amountstr = revertSeqno(amountstr); } } if (amountboolean == false){ amountstr_zhengshu = amountstr.substring(0, amountstr.indexOf(".")); amountstr_xiaoshu = amountstr.substring(amountstr.indexOf(".") + 1, amountstr.length()); amountstr_xiaoshu = rightFill(amountstr_xiaoshu, '0', 2); amountstr = amountstr_zhengshu + amountstr_xiaoshu; } public static String revertSeqno(String seqno) { int indOfDot = seqno.indexOf("."); int indOfE = seqno.indexOf("E"); seqno = seqno.substring(0,indOfDot) + seqno.substring(indOfDot + 1,indOfE); indOfE = seqno.length(); for (indOfDot = 0; indOfDot < 11 - indOfE; indOfDot ++) { seqno = seqno + "0"; } return seqno; } bankcoder(海水)d = 2000000.0我需要去掉小数点,然后小数点后面补两个零。-----------------------这种处理似乎不关科学计数与否嘛,而且这个处理很奇怪啊,为什么要去了小数点再补两个零 oswicer(低人) :我以double取出的金额如果很大就会已科学记数法表示,这是我要对数据进行处理的话就需要把它还原为普通的记数法。至于这种处理是业务的需要。。 仅仅是满足你上面说的那个需求的话: DecimalFormat df = new DecimalFormat("#"); double d = 20E5 ; System.out.println("d = "+df.format(d*100)); 一道java题目,大家来设计一下,看看谁的最简单! JTable使用探讨 这样的一个字符串该如何解析比较好? xml存储数据,欢迎提供源码和建议 麻烦帮我看下有什么错!!! 不用jdk7,怎么能用正则表达式的命名分组特性 请教:下面的表达式怎么理解??? 访问数据库出现了问题, 请老大门瞅瞅 正则匹配小问题-java JAVAFX相关问题 关于包的引用,以及方法的重构 请教,java.util中的Date和calendar,我不知道它们各自的用处和区别?我看不太懂Document,谢谢!
比如:
double d = 20E5;
System.out.println("d = "+d);
~~~~~~~~~~~~
d = 2000000.0我需要去掉小数点,然后小数点后面补两个零。
char checkchar = 'E';
if (amountstr != null) {
amountstr = amountstr.trim();
}
for (int amountstrlen=0;amountstrlen<amountstr.length(); amountstrlen++)
{
char amountstrchar = amountstr.charAt(amountstrlen);
if (amountstrchar == checkchar)
{
amountboolean = true;
amountstr = revertSeqno(amountstr);
}
}
if (amountboolean == false){
amountstr_zhengshu = amountstr.substring(0, amountstr.indexOf("."));
amountstr_xiaoshu = amountstr.substring(amountstr.indexOf(".") + 1,
amountstr.length());
amountstr_xiaoshu = rightFill(amountstr_xiaoshu, '0', 2);
amountstr = amountstr_zhengshu + amountstr_xiaoshu;
}
int indOfDot = seqno.indexOf(".");
int indOfE = seqno.indexOf("E"); seqno = seqno.substring(0,indOfDot) + seqno.substring(indOfDot + 1,indOfE);
indOfE = seqno.length(); for (indOfDot = 0; indOfDot < 11 - indOfE; indOfDot ++) {
seqno = seqno + "0";
}
return seqno;
}
d = 2000000.0我需要去掉小数点,然后小数点后面补两个零。
-----------------------
这种处理似乎不关科学计数与否嘛,而且这个处理很奇怪啊,为什么要去了小数点再补两个零
我以double取出的金额如果很大就会已科学记数法表示,这是我要对数据进行处理的话就需要把它还原为普通的记数法。
至于这种处理是业务的需要。。
DecimalFormat df = new DecimalFormat("#");
double d = 20E5 ;
System.out.println("d = "+df.format(d*100));