[英]Convert a number to 2 decimal places in Java
我想在運行時將數字轉換為2位小數(總是顯示兩位小數)。 我嘗試了一些代碼,但它只是如此,如下所示
20.03034 >> 20.03
20.3 >> 20.3 ( my code only rounds not converts )
但是,我希望它能做到這一點:
20.03034 >> 20.03
20.3 >> 20.30 (convert it to two decimal places)
我的代碼如下:
angle = a variable
angle_screen = a variable
DecimalFormat df = new DecimalFormat("#.##");
angle = Double.valueOf(df.format(angle));
angle_screen.setText(String.valueOf(angle) + tmp);
任何有關如何做到這一點的幫助都會很棒,謝謝。
試試這個new DecimalFormat("#.00");
更新 :
double angle = 20.3034;
DecimalFormat df = new DecimalFormat("#.00");
String angleFormated = df.format(angle);
System.out.println(angleFormated); //output 20.30
您的代碼未正確使用小數格式
模式中的0表示強制數字,#表示可選數字。
更新2 :檢查下面的答案
如果你想要0.2677
格式為0.27
你應該使用new DecimalFormat("0.00");
否則會是.27
DecimalFormat df=new DecimalFormat("0.00");
使用此代碼可獲得精確的兩個小數點。 即使該值為0.0,它也會給出0.00作為輸出。
相反,如果您使用:
DecimalFormat df=new DecimalFormat("#.00");
它不會將0.2659轉換為0.27 。 你會得到像.27這樣的答案。
試試這個: String.format("%.2f", angle);
嘗試
DecimalFormat df = new DecimalFormat("#,##0.00");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.