java 非科学计数法_Java设置大数非科学计数法显示
今天在編程過(guò)程中發(fā)現(xiàn):java中,當(dāng)要顯示的數(shù)字是一個(gè)很大或者很小的數(shù)字時(shí),系統(tǒng)會(huì)默認(rèn)使用科學(xué)計(jì)數(shù)法顯示。例如:
double testNum = 0.0001078137;
System.out.println(testNum);運(yùn)行結(jié)果為:1.078137E-4。
但是在我的程序中,我并不需要這樣表示方式,那么如何將很大或者很小的數(shù)字采用非科學(xué)計(jì)數(shù)法顯示呢?
通過(guò)測(cè)試,發(fā)現(xiàn)在數(shù)字顯示前加上以下幾行代碼可以控制數(shù)字顯示不使用科學(xué)計(jì)數(shù)法:
double testNUm = 0.0001078137;
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
nf.setGroupingUsed(false);
System.out.println(nf.format(testNum));運(yùn)行結(jié)果:0.0。
通過(guò)運(yùn)行結(jié)果我們發(fā)現(xiàn),對(duì)應(yīng)的數(shù)字不在是科學(xué)計(jì)數(shù)法表示了,說(shuō)明這樣設(shè)置可以控制顯示格式為非科學(xué)計(jì)數(shù)法;可是,運(yùn)行結(jié)果也不是對(duì)應(yīng)的數(shù)字結(jié)果,難道是代碼寫錯(cuò)了?
然后我開(kāi)始在網(wǎng)上找這些函數(shù)對(duì)應(yīng)的API,發(fā)現(xiàn)“系統(tǒng)默認(rèn)的小數(shù)位數(shù)是3位”,也就是說(shuō)原來(lái)的數(shù)被系統(tǒng)“截?cái)唷绷恕榱吮苊庠摲N情況發(fā)生,我們需要在設(shè)置了顯示格式后設(shè)置顯示的數(shù)字對(duì)應(yīng)的小數(shù)位數(shù),可以通過(guò)加上如下的代碼:
double testNum = 0.0001078137;
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
nf.setGroupingUsed(false);
nf.setMaximumFractionDigits(10);
System.out.println(nf.format(testNum));運(yùn)行結(jié)果為:0.0001078137。
至此,如何設(shè)置很小的數(shù)或者很大的數(shù)不使用科學(xué)計(jì)數(shù)法顯示就可以完整的實(shí)現(xiàn)了。
總結(jié)
以上是生活随笔為你收集整理的java 非科学计数法_Java设置大数非科学计数法显示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 嵌入式应该怎么去学?-熊健-专题视频课程
 - 下一篇: 计算机图形学实验体会,计算机图形学实验报